001
002
003
等等。使用循环。
我从01-99开始,现在决定使用list进行尝试。
我来的是这样的:
number = [0,0]
outfile = open("number.txt", "w")
outfile.write(str(number) + "\n")
while not number[0] == 9:
while not number[1] == 9:
number[1] = number[1] + 1
outfile.write(str(number) + "\n")
number[0] = number[0] + 1
number[1] = 0
outfile.write(str(number) + "\n")
但它不起作用。 :|
答案 0 :(得分:2)
您可以使用zfill
执行此操作。
例如:
str(1).zfill(3)
将返回:001
然后你可以循环并增加一个计数器:
for i in range(100)
outfile.write(str(i).zfill(3) + "\n")
答案 1 :(得分:1)
您忘记在十位数上加1,并在循环结束时重置单位数字。此外,import tarfile
tar = tarfile.open("test.tar.gz")
tar.extractall()
tar.close()
将无法按照您的要求运行。
试试这个:
str()
答案 2 :(得分:1)
考虑使用 with 关键字并使用file input context manager打开文件。
您还可以使用python的range()功能。
with open('yourfile.txt', w) as outfile:
for x in range(1,100):
outfile.write(str(x).zfill(3))
outfile.write('\n')
根据您正在处理的数字的格式,zfill() string method对您来说也很有用,以便零填充。
在处理大数量集时使用range()而不是列表的好处是内存分配。列表将所有值存储在内存中,而生成器(范围函数是什么),一次只返回一个值。因此,在任何给定时间只有x在内存中,并且可以通过for循环的其余部分进行处理。