我正在打开一个名为test.txt
的文件,文件对象为file1
。
在不关闭先前打开的文件的情况下,我正在打开文件对象为test.txt
的同一文件file2
,并尝试使用file.truncate(0)
清空文件内容。
我可以看到我的文件内容没有被删除。 有什么办法可以解决这个问题?
import os
def _write(_file):
_file.write("Hello World")
file1=open("test.txt",'a')
_write(file1)
file2=open("test.txt",'a')
file2.truncate(0)
我要删除文件内容而不使用相同的文件对象file1
,因为删除文件内容的代码在不同的文件中。
答案 0 :(得分:1)
您可以使用with
来在处理完成后关闭文件。
with open("test.txt",'a') as file1:
_write(file1)
with open("test.txt",'a') as file2:
file2.truncate(0)
答案 1 :(得分:0)
清空文件的一种方法是在写入模式下打开文件。您可以在之后立即关闭它:
open('test.txt', 'w').close()