如何生成带有符号的随机字符串

Posted

技术标签:

【中文标题】如何生成带有符号的随机字符串【英文标题】:How to generate a random string with symbols 【发布时间】:2018-04-14 20:50:18 【问题描述】:

我的代码:

import random
import string
random = ''.join([random.choice(string.ascii_letters + string.digits ) for n in range(12)])

到目前为止,它打印了一个包含大写、小写字母和数字的字符串,但我不知道如何让它也打印符号。

【问题讨论】:

string.ascii_letters + string.digits + '!@#$%^&*()_' 加入他们 符号是什么意思? unicode 中的任何字符?还是仅仅来自 ascii? 我猜string.printable 不是您想要的,因为它包含换行符、制表符等? 【参考方案1】:

怎么样:

import random
import string
random = ''.join([random.choice(string.ascii_letters + string.digits + string.punctuation ) for n in range(12)])

【讨论】:

【参考方案2】:

试试:

import random
import string
random = ''.join([random.choice(string.ascii_letters + string.digits  ) for n in 
range(12)])
print(random)`

【讨论】:

【参考方案3】:

要生成随机字符串,我们需要使用以下两个 Python 模块。

包含各种字符串常量的字符串模块,其中包含 所有情况下的 ASCII 字符。字符串模块包含单独的 小写、大写字母、数字和特殊字符的常量 字符。

执行随机生成的随机模块。

让我们看看生成一个固定长度为n的随机字符串的步骤。

使用字符串常量string.ascii_lowercase来获取所有的 单个字符串中的小写字母。

string.ascii_lowercase 常量包含所有小写字母。 即,'abcdefghijklmnopqrstuvwxyz' 运行循环 n 次到 使用 random.choice 从字符串常量中选择单个字符 方法并使用连接方法将其添加到字符串变量中。这 用于从列表中选择单个字符的选择方法

例如,假设你想要一个长度为 6 的随机字符串,那么我们可以 执行 random.choice() 方法 6 次以从中选择一个字母 string.ascii_lowercase 并将其添加到字符串变量中。

现在让我们看看代码。

import random
import string

def randomStringwithDigitsAndSymbols(stringLength=10):
    """Generate a random string of letters, digits and special characters """
    password_characters = string.ascii_letters + string.digits + string.punctuation
    return ''.join(random.choice(password_characters) for i in range(stringLength))

print("Generating Random String password with letters, digits and special characters ")
print ("First Random String ", randomStringwithDigitsAndSymbols() )
print ("Second Random String", randomStringwithDigitsAndSymbols(10) )
print ("Third Random String", randomStringwithDigitsAndSymbols(10) )

输出:

Generating Random String password with letters, digits and special characters 
First Random String password  qKDhC++T(4
Second Random String password  U+(ew5a[#U
Third Random String password  uf-g,s6'pX

使用此链接了解更多详情Click here

【讨论】:

【参考方案4】:

另外一个变种:

import random
import string
random_string = ''.join([random.choice(string.ascii_letters + string.digits + string.punctuation ) for n in range(12)])

在这种情况下,您无需重新定义 random 表单库。

【讨论】:

以上是关于如何生成带有符号的随机字符串的主要内容,如果未能解决你的问题,请参考以下文章

生成带有小写字母和数字的唯一随机字符串

随机密码生成器 Swift 3?

如何将随机生成的整数存储到字符串中?

怎么用c语言随机生成一串字符串,字符串要求8-16位并且包含大小写字母.数字.和符号

测试工具研发_生成随机用户名

如何修复此代码,使其随机播放字母并且对第一个字母和最后一个字母、标点符号没有影响