我对使用python生成list
有疑问。
我需要一个文件。每行应包含一个随机创建的12个字符的字符串。
每行输出的示例为:
A4lbf4JILv8s
A4lb44Jyuv8m
Am5bf4JhLv89
是否可以用python创建类似的东西?
如果是,有人可以给我发送一些能够做到这一点的代码吗?
答案 0 :(得分:0)
string.ascii_letters
包含所有ascii字母,而random.choice
为我们提供了集合中的随机元素。因此,我们会根据需要生成任意数量的随机字符,并将其与str.join
粘贴在一起。您应该查找python文档中不熟悉的其他语言元素。
import string
import random
if __name__ == '__main__':
output_name = '/path/to/my/file.txt'
num_lines = 20
num_chars = 12
output_str = '\n'.join(
''.join(random.choice(string.ascii_letters) for _ in xrange(num_chars))
for _ in xrange(num_lines)
)
with open(output_name, 'r') as f:
f.write(output_str)
答案 1 :(得分:0)
尝试以下代码,而不是5,设置行号:
import string
import random
l = list(string.ascii_lowercase) + list(string.ascii_uppercase) + list('0123456789')
with open('filename.txt', 'w') as f:
for lines in range(5):
s = ''.join(random.sample(l, 12))
f.write(''.join(random.sample(l, 12))+'\n')