我试图在 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

注意最后一个数字
  • 不是
  • 范围内的最后一个数字
  • 不完整!和其他人的长度不一样!

  • 当我再次这样做时,相同的代码给了我这个文件尾部:
    44999993
    44999994
    44999995
    44999996
    44999997
    44999998
    

    第三次运行完成并正确输出:
    44999994
    44999995
    44999996
    44999997
    44999998
    44999999
    

    虽然这每次都正常工作:
    for i in range(44100000,44999999):
         f.write('%d\n' % (i,))
    

    问题是什么?
    谢谢

    最佳答案

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

    with open('of', 'w') as f:
        f.write("Stuff")
    
    # f.close() will be called automatically upon leaving the with-scope
    

    关于python - python中的变量和不完整行为 "for"循环,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11396167/

    10-12 22:01
    查看更多