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

发布于 2024-11-24 17:32:21 字数 318 浏览 2 评论 0原文

我想用这段代码生成一个长度为 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 符号后添加换行符。

任何帮助都会很棒。

谢谢你的时间。

I would like to generate a random number string of N length with this code:

import random
import string

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

What is missing is that I would like to add "special characters like e.g. "@,;:.§$%&/(!""
And I would like to output that to .txt file with a newline after for a example 10,15 signs.

Any help would be great.

Thanks for the time.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

Spring初心 2024-12-01 17:32:21

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

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

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

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()

string module has a class for such special characters:

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

To save generated string to file use something like:

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()
葬﹪忆之殇 2024-12-01 17:32:21
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))

注意: string.ascii_letters 与 string.ascii_uppercase + string.ascii_lowercase 相同。

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))

Note: string.ascii_letters is the same as string.ascii_uppercase + string.ascii_lowercase.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文