大家。当我试图打印出文件的内容时,我发现如果我在写完文件后没有关闭文件,我就无法阅读内容并将其打印出来,有人可以向我解释发生了什么吗?此外,还有其他方法可以实现吗?
wf = open('text.txt','w')
wf.write("HI\nThis is your testing txt file\n!!!")
rf = open('text.txt', 'r')
print(rf.read())
wf.close()
rf.close()
答案 0 :(得分:2)
默认情况下,所有编程语言的文件操作通常都是缓冲的。这意味着实际写入实际上不会发生在write
,而是发生缓冲区刷新时。您可以通过多种方式强制执行此操作(例如.flush()
),但在这种情况下,您可能希望在再次打开文件之前关闭该文件 - 这是最安全的方式,因为打开文件两次可能会产生一些问题。
wf = open('text.txt','w')
wf.write("HI\nThis is your testing txt file\n!!!")
wf.close()
rf = open('text.txt', 'r')
print(rf.read())
rf.close()
来到Python,处理文件的一种更为自觉的方法是使用with
关键字来自动处理关闭:
with open('text.txt','w') as wf:
wf.write("HI\nThis is your testing txt file\n!!!")
with open('text.txt') as rf:
print(rf.read())
答案 1 :(得分:0)
我建议按如下方式读取或写入文件:
#!/usr/bin/env python3.6
from pathlib import Path
p = Path('text.txt')
p.write_text("HI\nThis is your testing txt file\n!!!")
print(p.read_text())