4

我试图在 python 中循环 44100000 到 44999999 之间的数字。
我试过这个:

f=open('of','w')
i=44100000
while i<=44999999 :
     f.write(str(i)+"\n")
     i+=1

但它不完整!文件的尾部of是:

44999750
44999751
44999752
44999753
449997

注意最后一个数字

  1. 不是范围内的最后一个数字
  2. 不完整!并且长度和其他人不一样!

当我再次这样做时,相同的代码给了我这个文件尾部:

44999993
44999994
44999995
44999996
44999997
44999998

第三次运行完成并正确输出:

44999994
44999995
44999996
44999997
44999998
44999999

虽然这每次都能正常工作:

for i in range(44100000,44999999):
     f.write('%d\n' % (i,))

问题是什么?谢谢

4

1 回答 1

7

您未能在终止进程之前关闭文件。with在语句中使用需要清理的资源是一种很好的做法:

with open('of', 'w') as f:
    f.write("Stuff")

# f.close() will be called automatically upon leaving the with-scope
于 2012-07-09T13:40:22.590 回答