Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/343.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python随机数字字母和附加生成器_Python_Random_Generator - Fatal编程技术网

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

Python随机数字字母和附加生成器,python,random,generator,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)) 缺少的是我想添加“特殊字符,如@,;:”。§$%&/(!"" 我想把它输出到.txt文件,后面有一个换行符,例如10,15个符号 任何帮助都会很好 感谢您的

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

import random
import string

N=512
print ''.join(random.choice(string.ascii_uppercase + string.digits + string.ascii_lowercase) for x in range(N))
缺少的是我想添加“特殊字符,如@,;:”。§$%&/(!"" 我想把它输出到.txt文件,后面有一个换行符,例如10,15个符号

任何帮助都会很好


感谢您的时间。

string
模块为此类特殊字符提供了一个类:

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

注意:string.ascii字母与string.ascii字母大写+string.ascii字母小写相同。

很酷,谢谢!输出到文件和换行符怎么样?你知道我该怎么做吗?Python不喜欢“with”.I get SyntaxError:invalid syntaxwith是Python 2.6中新增的。在Python 2.5中,将
from\uuuuu future\uuuuu import with_ustatement
放在文件顶部。THX很多!但是现在我得到了:ValueError:sample大于population第三行中的N应该是
chars\u per\u行
THX对于这个脚本来说也是很多!但是这里我得到了:AttributeError:'module'object没有属性'ascii\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
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()
import random
import string

allowable_gibberish = string.ascii_letters + string.digits + string.punctuation
def gibberish_maker(gibberish=allowable_gibberish,n=512,new_line_every=15):
    str = ''.join(random.choice(gibberish) for x in range(n))
    return '\n'.join(str[i:i+new_line_every] for i in xrange(0, len(str), new_line_every))