Функция Faker.Credit_card_number для генерации карт от указанных c провайдеров - PullRequest
0 голосов
/ 01 августа 2020

Я использую приведенную ниже функцию для создания случайных номеров кредитных карт Amex / Mastercard / Visa & Discover и записи их в файл csv на основе record_counter.

Если мой record_counter установлен на 25, Я вижу, что некоторые записи отображаются как 0, а остальные - с номерами кредитных карт. Есть ли способ всегда генерировать номер кредитной карты, несмотря на значение счетчика записей. (Если record_counter равно 100, должно быть сгенерировано 100 номеров кредитных карт) Я знаю, что это может быть не оптимизированный способ реализации, но я только начинаю с Python,

def PanGeneratorFaker():
fake = Faker()

k = fake.credit_card_number()
if (str(k).startswith("34") or str(k).startswith("37")) and (len(k) == 15):
    return k
elif (str(k).startswith("6") or str(k).startswith("4") or str(k).startswith("5")) and ((len(k) == 16) or (len(k) == 19)):
    return k       

1 Ответ

0 голосов
/ 01 августа 2020

Вы можете попробовать

fake.credit_card_number(card_type='amex')

, где card_type может быть maestro, mastercard, visa16, visa13, visa19, amex, discover, diners, jcb15, jcb16.

Если вам нужна дополнительная информация взгляните на исходный код .

...