我有一个文本文件,我想在Python中擦除。我怎么做呢?
当前回答
这不是一个完整的答案,更多的是对ondra答案的延伸
当使用truncate()(我的首选方法)时,确保您的光标位于所需的位置。 当打开一个新文件进行读取时- open('FILE_NAME','r'),它的光标默认为0。 但如果你在代码中解析了文件,请确保再次指向文件的开头,即truncate(0) 默认情况下,truncate()从当前cusror位置开始截断文件的内容。
一个简单的例子
其他回答
正如@jamylak所建议的,包含上下文管理器优点的一个好的替代方案是:
with open('filename.txt', 'w'):
pass
你必须覆盖这个文件。在c++中:
#include <fstream>
std::ofstream("test.txt", std::ios::out).close();
你也可以使用这个(基于上面的一些答案):
file = open('filename.txt', 'w')
file.close()
当然,这是一种非常糟糕的清除文件的方式,因为它需要很多行代码,但我只是写这个来告诉你们,它也可以在这个方法中完成。
编码快乐!
写入和读取文件内容
def writeTempFile(text = None):
filePath = "/temp/file1.txt"
if not text: # If not provided return file content
f = open(filePath, "r")
slug = f.read()
return slug
else:
f = open(filePath, "a") # Create a blank file
f.seek(0) # sets point at the beginning of the file
f.truncate() # Clear previous content
f.write(text) # Write file
f.close() # Close file
return text
这对我很有效
除非需要删除文件的结尾,否则不能就地“擦除”文件。要么满足于覆盖一个“空”值,要么读取文件中您关心的部分并将其写入另一个文件。
推荐文章
- 在pip install中方括号是什么意思?
- 使用Matplotlib以非阻塞的方式绘图
- 使用sklearn缩放Pandas数据框架列
- 如何创建关键或附加一个元素的关键?
- virtualenv的问题-无法激活
- 是否可以使用scikit-learn K-Means聚类来指定自己的距离函数?
- 如何在Python中删除文本文件的文件内容?
- 一个干净、轻量级的Python扭曲的替代品?
- 在Python中从字符串中移除所有非数字字符
- 在Python中,如何以排序的键顺序遍历字典?
- Python中的多行f-string
- 批量归一化和退出的排序?
- Python中的“@=”符号是什么意思?
- read_csv . pandas中的Datetime dtypes
- 在argparse中使用破折号