写10000条记录真的需要20分钟吗?或者是代码的编写方式可以优化
如果使用随机数生成器,所需时间不到1分钟左右
import random
import csv
from faker import Faker
def PanGeneratorType():
fake = Faker()
Card_Type = ['amex','mastercard','visa16','visa19','discover']
Pan_Num = fake.credit_card_number(random.choice(Card_Type))
return Pan_Num
def RandomGenerator():
randCardType=random.choice([3,4,5,6])
if randCardType==3:
randCardNumber=random.randrange(300000000000000,399999999999999,1)
elif randCardType==6:
randCardNumber=random.randrange(6000000000000000,6999999999999999,1)
elif randCardType==5:
randCardNumber=random.randrange(5000000000000000,5999999999999999,1)
elif randCardType==4:
randCardNumber=random.randrange(4000000000000000,4999999999999999,1)
return randCardNumber
with open("Cards.CSV", "wt", newline='') as csvFile:
writer = csv.writer(csvFile)
writer.writerow(['CARD_NUM'])
for i in range(1000):
Card_Num = PanGeneratorType()
writer.writerow([Card_Num])
仔细查看PanGeneratorType()中的内容。你叫了1000遍。 初始化1000个Faker(),每个都运行fake.credit\u card\u number()1次
创建1个Faker()并为其提供1000个工作,比创建1000个Faker()并每个提供1个工作要快得多
相关问题 更多 >
编程相关推荐