2014-04-19 44 views
1

我使用的是箱号码,然后创建一个这样使用Python创建范围000〜999

bin = "377731" 
range(00000, 99999) 

for i in range(len(bin)): 
    target = open('{0}.txt'.format(bin), 'a') ## a will append, w will over-wri$ 
    target.write("{0}{1}000".format(bin,i) + "\n") 
    target.close() 

问题编号列表,Python的显示列表这样

编写Python代码3777311000

,我需要它把它写这样的

也达到数5

任何帮助后脚本停止?

感谢

回答

1

你需要给一个格式说明,所以不是{1}在格式字符串,使用{1:04}如果你想用零填充左侧四位数字。

0

您不应该使用len(bin),而只是bin。然后,它并没有在5

2

停止,我们在您的代码几件事情需要改变:

  • 您已经定义bin是具有价值377731的字符串。该字符串的长度为6,这就是为什么循环在5之后停止的原因。

  • 此外,bin是python中的内置函数,所以最好不要将它用作变量的名称。

  • 在循环中打开和关闭文件是一种矫枉过正。

尝试此代替:

bin_suffix = "377731" 
target = open('{0}.txt'.format(bin_suffix), 'a') ## a will append, w will over-wri$ 
for i in range(99999): 
    target.write('{}{}'.format(bin_suffix, str(i).zfill(7)) + "\n") 
target.close() 

zfill是一个字符串函数,用零填充字符串的指定的长度。在你的情况下,你需要在377731后7位数,所以你指定7作为参数zfill

希望这会有所帮助。