在Python程序中,为什么我无法在写入文件后立即将其合并?

13 浏览
0 Comments

在Python程序中,为什么我无法在写入文件后立即将其合并?

我试图使用Popen()来读取一个文件,但在创建并写入文件后立即使用它却不起作用。打印p会得到两个空元组('','')。为什么?我使用了rename来确保原子写入,如此处所讨论的。

0
0 Comments

在Python程序中,为什么我不能在写入文件后立即读取文件?

问题的原因是你没有调用close函数。使用fd.close()来关闭文件(你忘记了在函数调用中加上括号)。这个问题可以通过使用with语句来解决:

with open("__q", "w") as fd:
    fd.write(t)
# 文件会在这里自动关闭

我花了很多时间来解决这个问题。有没有一种方法让Python能够检测到这种语法错误呢?

0