Python随机数字字母和附加生成器

dig*_*git 2 python random generator

我想用这个代码生成一个长度为 N 的随机数字符串:

import random
import string

N=512
print ''.join(random.choice(string.ascii_uppercase + string.digits + string.ascii_lowercase) for x in range(N))
Run Code Online (Sandbox Code Playgroud)

缺少的是我想添加“特殊字符,例如“@,;:.§$%&/(!””并且我想将其输出到 .txt 文件并在示例 10 之后使用换行符, 15个标志。

任何帮助都会很棒。

谢谢你的时间。

Rom*_*huk 5

string 模块有一个用于此类特殊字符的类:

>>> print string.punctuation
!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
Run Code Online (Sandbox Code Playgroud)

要将生成的字符串保存到文件,请使用以下内容:

N=512
chars_per_line = 15

s = ''.join(random.choice(string.digits + string.ascii_letters + string.punctuation) for i in xrange(N))

fh = open('filename', 'w')
try:
    fh.writelines([s[i:i+chars_per_line]
                   for i in range(0, N, chars_per_line)])
finally:
    fh.close()
Run Code Online (Sandbox Code Playgroud)