用Python编写和读取文件

时间:2018-05-29 10:08:16

标签: python python-3.x

大家。当我试图打印出文件的内容时,我发现如果我在写完文件后没有关闭文件,我就无法阅读内容并将其打印出来,有人可以向我解释发生了什么吗?此外,还有其他方法可以实现吗?

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()

2 个答案:

答案 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())