我尝试的代码是:
dtf = open("C:\\Users\\foggi\\Documents\\Fred.txt","w")
dtf.write("Hello people")
这在安卓上是可行的(需要更改文件路径),但在Windows 10下会创建一个空文件。我该怎么解决?
dtf = open("C:\\Users\\foggi\\Documents\\Fred.txt","w")
dtf.write("Hello people")
这在安卓上是可行的(需要更改文件路径),但在Windows 10下会创建一个空文件。我该怎么解决?
在写完文件后,必须关闭它。
dtf = open("C:\\Users\\foggi\\Documents\\Fred.txt","w")
dtf.write("Hello people")
dtf.close()
with open("C:\\Users\\foggi\\Documents\\Fred.txt","w") as dtf:
dtf.write("Hello people")
您可以在这里阅读更多关于with
块的信息,包括如何创建自己的对象并将其与with
一起使用:http://preshing.com/20110920/the-python-with-statement-by-example/(第一个谷歌搜索结果)。
with
来打开文件,因为它会在幕后自动关闭文件对象。with open("C:\\Users\\foggi\\Documents\\Fred.txt","w") as f:
f.write("Hello people")
如果您想查看更改,需要关闭文件:
我总是使用with
,它会在块结束时关闭文件。
with open("C:\\Users\\foggi\\Documents\\Fred.txt","w") as fs:
fs.write("Hello people")
或者在你写完之后关闭文件。使用 file.close()
dtf = open("C:\\Users\\foggi\\Documents\\Fred.txt","w")
dtf.write("Hello people")
dtf.close()
with
块。with open("C:\\Users\\foggi\\Documents\\Fred.txt", "w") as fp:
fp.write("Hello people")
另一个好的方法是只使用 pathlib
:
import pathlib
path = pathlib.Path("C:\\Users\\foggi\\Documents\\Fred.txt")
path.write_text("Hello people")
你也可以手动关闭文件,但这不推荐做法,因为这并不符合风格要求:
fp = open("C:\\Users\\foggi\\Documents\\Fred.txt", "w")
fp.write("Hello people")
fp.close()
原因是在open
和close
之间可能发生某些事情,导致close
被跳过。在这样一个简短的程序中,这并不重要,但在更大的程序中,可能会出现文件句柄泄漏,因此建议到处使用with
。
dtf = open("C:\\Users\\foggi\\Documents\\Fred.txt","a+")
dtf.write("Hello people")
你可以将这个 a+ 用作替代