我有一个文本文件,我想在Python中擦除。我怎么做呢?
当前回答
除非需要删除文件的结尾,否则不能就地“擦除”文件。要么满足于覆盖一个“空”值,要么读取文件中您关心的部分并将其写入另一个文件。
其他回答
这是我的方法:
使用r+模式打开文件 使用file. Read()从文件中读取当前数据 使用file.seek(0)将指针移到第一行 使用file.truncate(0)从文件中删除旧数据 先写新内容,再写之前用file.read()保存的内容
所以完整的代码是这样的:
with open(file_name, 'r+') as file:
old_data = file.read()
file.seek(0)
file.truncate(0)
file.write('my new content\n')
file.write(old_data)
因为我们使用的是打开,文件会自动关闭。
写入和读取文件内容
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
这对我很有效
在python中:
open('file.txt', 'w').close()
或者,如果你已经打开了一个文件:
f = open('file.txt', 'r+')
f.truncate(0) # need '0' when using r+
以“写”模式打开一个文件可以清除它,你不需要特别地写入它:
open("filename", "w").close()
(你应该关闭它,因为文件自动关闭的时间可能是特定于实现的)
你必须覆盖这个文件。在c++中:
#include <fstream>
std::ofstream("test.txt", std::ios::out).close();
推荐文章
- 在pip install中方括号是什么意思?
- 使用Matplotlib以非阻塞的方式绘图
- 使用sklearn缩放Pandas数据框架列
- 如何创建关键或附加一个元素的关键?
- virtualenv的问题-无法激活
- 是否可以使用scikit-learn K-Means聚类来指定自己的距离函数?
- 如何在Python中删除文本文件的文件内容?
- 一个干净、轻量级的Python扭曲的替代品?
- 在Python中从字符串中移除所有非数字字符
- 在Python中,如何以排序的键顺序遍历字典?
- Python中的多行f-string
- 批量归一化和退出的排序?
- Python中的“@=”符号是什么意思?
- read_csv . pandas中的Datetime dtypes
- 在argparse中使用破折号