清空文件内容或在python中截断文件

时间:2019-07-08 13:37:25

标签: python

我正在打开一个名为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,因为删除文件内容的代码在不同的文件中。

2 个答案:

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