.write 在 Python 中不起作用
- 2025-03-11 08:50:00
- admin 原创
- 97
问题描述:
我对 Python 还很陌生,所以希望我只是忽略了一些显而易见的东西,但这让我很困惑。下面是我的程序片段:
outFile = open('P4Output.txt', 'w')
outFile.write(output)
print output
print "Output saved to \"P4Output.txt\"
"
输出正确打印到控制台,但如果我打开文件,它是空白的。如果我删除文件并再次执行我的程序,文件会被创建但仍然是空的。我之前在另一个程序中使用了完全相同的代码块,它有效,现在仍然有效。但是,如果我打开 Python 并尝试一些简单的操作,例如:
f = open('test.txt', 'w')
f.write("test")
再次,test.txt 已创建但为空白。这是怎么回事?
解决方案 1:
你有没有记得f.close()
在程序结束时这么做?
解决方案 2:
flush()
由于缓冲,字符串可能直到您调用或后才实际显示在文件中close()
。因此请尝试在f.close()
之后调用f.write()
。此外,建议使用文件对象,即使您由于异常或语句而提前with
退出块,它也会自动为您关闭文件。with
`return`
with open('P4Output.txt', 'w') as f:
f.write(output)
解决方案 3:
你需要做一个
outFile.flush()
是否希望将缓冲内容写入磁盘。如果您已完成文件写入,则调用file.close
将在关闭文件之前隐式刷新缓冲数据。
解决方案 4:
尝试将您的语句括在try
/except
块中,以了解在打开或写入文件期间是否发生了某些事情:
try:
outFile = open('P4Output.txt', 'w')
outFile.write(output)
outFile.close()
except IOError as (errno, strerror):
print "I/O error({0}): {1}".format(errno, strerror)
并始终关闭文件,以便系统可以在关闭文件之前将数据刷新到文件中。
解决方案 5:
也许您应该使用绝对路径而不是相对路径。
相关推荐
热门文章
项目管理软件有哪些?
热门标签
曾咪二维码
扫码咨询,免费领取项目管理大礼包!
云禅道AD