python生成随机字符串

python生成随机字符串随机字符的场景大致有以下场景 1 产生随机字符串无数字 2 产生随机长度的字符串无数字 有数字 3 产生随机手机号 4 产生随机 n 位的数字 5 产生随机 n 以内的数字随机使用的两种思路如下 一 使用 random randint 0 n 定义一个字符数据源的数组 要产生多长的字符串就循环调用多少次 random randint 0 n n 数据源数组的长度 在这个数据源数组中选择随机位置的字符 然后进行拼接返回 defgenerate random str randomleng

随机字符的场景大致有以下场景:

1.产生随机字符串 无数字

2.产生随机长度的字符串 无数字、有数字

3.产生随机手机号

4.产生随机n位的数字

5.产生随机n以内的数字

随机使用的两种思路如下:

一:使用random.randint(0,n)

定义一个字符数据源的数组,要产生多长的字符串就循环调用多少次random.randint(0,n),n=数据源数组的长度,在这个数据源数组中选择随机位置的字符,然后进行拼接返回

def generate_random_str(randomlength=16): """ 生成一个指定长度的随机字符串 """ random_str ='' base_str ='ABCDEFGHIGKLMNOPQRSTUVWXYZabcdefghigklmnopqrstuvwxyz0' length =len(base_str) -1 for i in range(randomlength): random_str +=base_str[random.randint(0, length)] return random_str if __name__ == '__main__': print(generate_random_str(30))

二:使用random.choice随机选择,需要多少长度就随机多少次

这里补充以下choice的用法:

random.choice() 在参数中随机产生返回一个对象 参数可以使list,也可以是string、元祖

import random

random.choice([1, 2, 3, 5, 9]) #返回5

random.choice(‘A String’) #返回n

def getRandom(randomlength=16): """ 生成一个指定长度的随机字符串 """ digits=0 ascii_letters=abcdefghigklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ str_list =[random.choice(digits +ascii_letters) for i in range(randomlength)] random_str =''.join(str_list) return random_str

最后,使用了dict字典实现按照mode按使用场景生成不同的字符串

def getRandomString(mode="mixDigitLetter", len=15): #按照不同模式生成随机字符串 upperLetter = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" lowerLetter = "abcdefghigklmnopqrstuvwxyz" digits="0" wpecialCharacters = "!@#$%&_-.+=" randomMap ={"digit":digits,"upper":upperLetter,"lower":lowerLetter,"mixDigitLetter":upperLetter+lowerLetter+digits,"mixLetter":upperLetter+lowerLetter,"mixDigitLetterCharcter":upperLetter+lowerLetter+digits+wpecialCharacters} return getRandom(randomMap[mode],len)

对于第5中产生随机n以内的数字,直接使用random.randomint(0,n)即可

如,产生100以内的整数

print(random.randint(0,100))

三、使用Faker库产生随机数据

有时我们测试用例中会用到一些测试数据,比如人员信息(姓名、地址、邮箱、电话),可能姓名、地址这种不太好随机,生产数据又需要做脱敏处理

Faker提供的强大的随机能力,支持生成多种语言的随机信息(姓名、地址、邮箱、电话、密码、一段文字、一句话等待),非常好用

from faker import Faker faker = Faker(locale='zh_CN') for i in range(10): print(faker.name()+','+faker.address()+','+faker.email()+','+faker.phone_number()) print(faker.password())

结果

python生成随机字符串

faker使用参考:

https://www.csdn.net/tags/MtTaMgxsNjg1NjEyLWJsb2cO0O0O.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/205079.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月19日 下午6:51
下一篇 2026年3月19日 下午6:52


相关推荐

  • PyTorch实现的ResNet50、ResNet101和ResNet152

    PyTorch实现的ResNet50、ResNet101和ResNet152PyTorch实现的ResNet50、ResNet101和ResNet152importtorchimporttorch.nnasnnimporttorchvisionprint("PyTorchVersion:",torch.__version__)print("TorchvisionVersion:",torchvision.__version__)

    2022年10月7日
    5
  • 【Python05】Python转义字符

    【Python05】Python转义字符1 转义字符的定义 由反斜杠加上一个字符或数字组成 它把反斜杠后面的字符或数字转换成特定的意义 2 一般转义字符有 n 代表换行符 t 代表横向跳格 代表反斜杠 代表双引号 代表单引号 r 代表回车 b 代表退格 3 题目 请各位读者在草稿纸上写写下面的输出函数应该输出什么 可以根据注释后面的提示进行思考 作者 要努力 努力 再努力 开发时间 2022 4 521 07 转义字符 print hello nworld n

    2026年3月19日
    2
  • 《大话操作系统——做坚实的project实践派》(6)[通俗易懂]

    《大话操作系统——做坚实的project实践派》(6)

    2022年2月2日
    43
  • DB2维护手册

    DB2维护手册

    2021年5月7日
    140
  • MYSQL 删除语句

    MYSQL 删除语句删除数据(DELETE)  如果你失忆了,希望你能想起曾经为了追求梦想的你。数据库存储数据,总会有一些垃圾数据,也会有一些不需要用的数据了,这些情况下,我们就可以删除这些数据,释放出一定的空间,给其他的数据使用使用前需注意:删除(DELETE),是删除一(条)行数据,图1里,有4条(行)数据,换句话说,你要删除第四条名字为“巴巴”的用户,那么关于他的id

    2022年6月24日
    51
  • 手机java程序_2020年最流行的Java开发技术

    手机java程序_2020年最流行的Java开发技术●写在前面的话●Java几乎无处不在,无论在智能手机、台式机、游戏设备还是科学超级计算机上,处处都有Java的影子。全世界有数百万的Java程序员在开发基于Java的产品。然而,如此激烈的竞争,意味着Java开发人员必须时刻保持领先地位。为此,他们必须随时了解和洞悉Java生态系统中的最新动态。Java程序员需要不断进步。在本文中,我们将讨论2020年Java开发人员需要掌握的Java最…

    2022年7月8日
    22

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号