利用Python生成大量递增的相同位数的数字字符串(00001,00002,00003,...)

背景

1.对ECShop作性能测试过程中,为了模拟大量用户(2h,5w业务量)登录ECShop的场景,需要在ECShop的数据库中预先注册成功足够数量的用户。为确保有效登录用户达到5w,数据库需要准备注册超过5w的用户,如:注册6w用户
2.注册用户名的格式为:Test{uid},uid作为参数,需要从txt或csv文件批量读取数字字符串(00001,00002,00003,...,49999,50000)
3.预期注册的用户名为:Test00001,Test00002,Test00003,...,Test49999,Test50000


本次目标

利用Python代码实现生成6w个递增的相同位数的数字字符串

具体需要:

从数字1到60000,顺序输出每个数字对应的数字字符串均为5位数,不足5位以0补足

预期效果如下:
-------------------------------
00001
00002
00003
......
59999
60000
-------------------------------


代码实现

方法1:对字符串直接格式化

执行代码:

file = open('D:\\CI_Env\\TestData\\RegisterData.txt','w')

for i in range(1,60001):
    file.write(("%05d" % i)+'\n')

file.close()

执行结果:

利用Python生成大量递增的相同位数的数字字符串(00001,00002,00003,...)_第1张图片

字符串格式化控制:%[(name)][flags][width].[precision]typecode

参数 含义
(name) 命名
flags 可有:+-''0
+:表示右对齐
-:表示左对齐
'':为一个空格,表示在正数的左侧填充一个空格,从而与负数对齐
0:表示使用0填充
width 表示显示的宽度
precision 表示小数点后的精度
typecode 类型码,用以控制显示的类型。如:%d代表十进制整数,%s代表字符串


方法2:调用格式化方法 str.format()进行控制

执行代码:

file = open('D:\\CI_Env\\TestData\\RegisterData.txt','w')

for i in range(1,60001):
    file.write(("{:0>5d}".format(i))+'\n')

file.close()
利用Python生成大量递增的相同位数的数字字符串(00001,00002,00003,...)_第2张图片

PS:
1.本次生成的数字字符串写入txt文件中,因数据量相对较大,为避免打开出现卡顿现象,建议用专业文本编辑器(如:Notepad++)打开此文件
2.实现递增数字字符串,若数量不大,则也可在Excel中设置拖动产生;若数据量较大,则需要考虑实现的效率及可靠性,最好利用python代码实现



参考资料:
[1] Python补充05 字符串格式化 (%操作符)
[2] Python format 格式化函数
[3] 用python3生成一个0001,0002,0003~9998,9999组成的txt文件,不足四位的自动加0补足
[4] 如何用python生成一个顺序标号的txt文件?
[5] 两种方法输出以下内容''' 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 '''

你可能感兴趣的:(利用Python生成大量递增的相同位数的数字字符串(00001,00002,00003,...))