美文网首页
利用Python生成大量递增的相同位数的数字字符串(00001,

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

作者: Fighting_001 | 来源:发表于2018-10-21 16:03 被阅读870次

    背景

    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 '''

    相关文章

      网友评论

          本文标题:利用Python生成大量递增的相同位数的数字字符串(00001,

          本文链接:https://www.haomeiwen.com/subject/yqpvzftx.html