我正在使用bin编号编写Python代码,然后创建一个像这样的数字列表
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显示列表的问题
3777311000
我需要它像那样写
3777310000100
脚本在到达数字5后停止
任何帮助?
由于
答案 0 :(得分: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
的参数
希望这有帮助。
答案 1 :(得分:1)
您需要提供一个格式说明符,因此如果您想在左侧填充零填充四位数字,请使用{1}
而不是格式字符串中的{1:04}
。
答案 2 :(得分:0)
您不应该使用len(bin)
,而只是使用bin
。然后它不会停在5.