使用Python 2.7.3 File.write()函数时丢失文件

时间:2013-06-22 20:21:12

标签: python

如果您只是计划使用python脚本写入文件,如下所示:

#!/usr/bin/python
count = 1
fo = open('DbCount.txt', 'w')
fo.write(str(count))
#fo.flush()
fo.close()

与脚本放在同一文件夹中的Dbcount.txt文件(尝试修改Dbcount.txt)。我没有看到txt文件有任何变化,解释器没有显示错误,非常奇怪,有什么帮助吗?

1 个答案:

答案 0 :(得分:1)

首先,始终使用with语句变体,它将始终关闭文件,即使出现错误:

#!/usr/bin/python
count = 1
with open('DbCount.txt', 'w') as fo:
    fo.write(str(count))

然后每次写入时'w'都会覆盖您的文件。如果要追加,请使用'a'

关于您的具体问题,您是仅查看脚本目录还是从当前目录中调用脚本?在编写代码时,您写入的文件路径与执行代码的位置有关。

尝试:

import os
count = 1
with open(os.path.join(os.path.dirname(__file__), 'DbCount.txt'), 'w') as fo:
    fo.write(str(count))

然后它应该在与脚本相同的路径中输出DbCount.txt