如何在Python中从文件中删除数据
当我们不再需要数据时,我们通常更喜欢擦除或删除它,以便空间可以被其他对我们重要的数据占用。 Python也支持文件处理并允许用户处理文件,即读取和写入文件,以及许多其他文件处理选项,以对文件进行操作。
Refer to the below articles to get the idea about file handling in Python.
- File Handling in Python
- Reading and Writing to text files in Python
在这里,我们将学习在Python中从文件中删除数据时使用的不同方法。
方法一:当整个数据连同文件,它在,必须删除!
Python中的 os.remove() 方法用于删除或删除文件路径。此方法不能删除或删除目录。如果指定的路径是目录,则该方法将引发 OSError。 os.rmdir() 可用于删除目录。
例子:
执行前:
# code to delete entire data along with file
import os
# check if file exists
if os.path.exists("sample.txt"):
os.remove("sample.txt")
# Print the statement once
# the file is deleted
print("File deleted !")
else:
# Print if file is not present
print("File doesnot exist !")
执行后:
注意:更多信息请参考Python | os.remove() 方法
方法2:当必须删除整个数据而不是它所在的文件时!
Truncate()
方法截断文件的大小。如果存在可选大小参数,则文件将被截断为(最多)该大小。大小默认为当前位置。当前文件位置没有改变。请注意,如果指定的大小超过了文件的当前大小,则结果取决于平台:可能包括文件可能保持不变、增加到指定的大小,就像用零填充一样,或者增加到指定的大小并带有未定义的新内容。要截断文件,您可以以追加模式或写入模式打开文件。
例子:
执行前:
# code to delete entire data
# but not the file, it is in
# open file
f = open("sample.txt", "r+")
# absolute file positioning
f.seek(0)
# to erase all data
f.truncate()
输出:
执行后:
注意:有关详细信息,请参阅Python文件 truncate() 方法。
方法 3:从文件中删除特定数据
这可以通过以下方式完成:
- 以读取模式打开文件,从文件中获取所有数据。再次以写入模式重新打开文件并将所有数据写回,除了要删除的数据
- 除我们要删除的数据外,在新文件中重写文件。快点)
让我们看看第一个。
例子:
执行前:
# code to delete a particular
# data from a file
# open file in read mode
with open("sample.txt", "r") as f:
# read data line by line
data = f.readlines()
# open file in write mode
with open("sample.txt", "w") as f:
for line in data :
# condition for data to be deleted
if line.strip("\n") != "Age : 20" :
f.write(line)
输出:
执行后: