背景
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代码实现