背景
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()
执行结果:
字符串格式化控制:%[(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()
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 '''
网友评论