📜  如何在Python中从文件中删除数据

📅  最后修改于: 2022-05-13 01:55:15.218000             🧑  作者: Mango

如何在Python中从文件中删除数据

当我们不再需要数据时,我们通常更喜欢擦除或删除它,以便空间可以被其他对我们重要的数据占用。 Python也支持文件处理并允许用户处理文件,即读取和写入文件,以及许多其他文件处理选项,以对文件进行操作。

在这里,我们将学习在Python中从文件中删除数据时使用的不同方法。

方法一:当整个数据连同文件,它在,必须删除!

Python中的 os.remove() 方法用于删除或删除文件路径。此方法不能删除或删除目录。如果指定的路径是目录,则该方法将引发 OSError。 os.rmdir() 可用于删除目录。

例子:

执行前:

python-删除文件

# 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-删除文件

执行后:

python-删除文件

注意:更多信息请参考Python | os.remove() 方法

方法2:当必须删除整个数据而不是它所在的文件时!

Truncate()方法截断文件的大小。如果存在可选大小参数,则文件将被截断为(最多)该大小。大小默认为当前位置。当前文件位置没有改变。请注意,如果指定的大小超过了文件的当前大小,则结果取决于平台:可能包括文件可能保持不变、增加到指定的大小,就像用零填充一样,或者增加到指定的大小并带有未定义的新内容。要截断文件,您可以以追加模式或写入模式打开文件。

例子:

执行前:

python-删除文件

# 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-删除文件

执行后:

python-删除文件

注意:有关详细信息,请参阅Python文件 truncate() 方法。

方法 3:从文件中删除特定数据

这可以通过以下方式完成:

  1. 以读取模式打开文件,从文件中获取所有数据。再次以写入模式重新打开文件并将所有数据写回,除了要删除的数据
  2. 除我们要删除的数据外,在新文件中重写文件。快点)

让我们看看第一个。

例子:

执行前:

python-删除文件

# 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)

输出:

python-删除文件

执行后:

python-删除文件