Python File文件处理 删除文件(remove)

Python中,要删除一个文件,可以使用os.remove() 等函数。在尝试删除文件之前,可能需要检查文件是否存在,以避免出现错误。不确定文件是否存在或可能会有其他问题,最好使用try...except块来捕获和处理可能的异常。本文主要介绍Python中删除文件和文件夹的方法。

1、删除文件

要删除文件,必须导入OS模块并运行其os.remove()函数:

例如:

删除文件“ example.txt”:

import os

# 指定要删除的文件的路径
file_path = 'example.txt'
# 删除文件
os.remove(file_path)

2、判断文件是否存在

为避免出现错误,可能想要在尝试删除文件之前检查文件是否存在:

例如:

检查文件是否存在,然后将其删除:

import os

# 指定要删除的文件的路径
file_path = 'example.txt'# 检查文件是否存在if os.path.exists(file_path):
    # 删除文件
    os.remove(file_path)
    print(f"文件 '{file_path}' 已删除。")
else:
    print(f"文件 '{file_path}' 不存在。")

3、删除文件夹

要删除整个文件夹,请使用os.rmdir()方法:

例如:

删除文件夹:

import os
os.rmdir("myfolder")

注意:只能删除空文件夹。

4、删除文件异常处理

删除文件确保程序有足够的权限删除文件。否则,会引发PermissionError。不确定文件是否存在或可能会有其他问题,最好使用try...except块来捕获和处理可能的异常。

import os

file_path = 'example.txt'

try:
    os.remove(file_path)
    print(f"文件 '{file_path}' 已删除。")
except FileNotFoundError:
    print(f"文件 '{file_path}' 不存在。")
except PermissionError:
    print(f"没有权限删除文件 '{file_path}'。")
except Exception as e:
    print(f"删除文件时发生错误: {e}")

5、使用 os.unlink()

os.unlink() 是Python中os模块的一个方法,用于删除文件。如果文件是一个目录,则会返回一个错误。os.unlink()os.remove() 的别名,功能上没有区别,可以互换使用。

import os

file_path = 'example.txt'

# 使用 os.unlink() 删除文件
if os.path.exists(file_path):
    os.unlink(file_path)
    print(f"文件 '{file_path}' 已删除。")
else:
    print(f"文件 '{file_path}' 不存在。")

6、使用 pathlib.Path.unlink()

pathlib 是 Python 3.4 引入的一个模块,提供了面向对象的路径操作方式。Path.unlink() 方法可以用来删除文件。

from pathlib import Path

file_path = Path('example.txt')

# 使用 pathlib.Path.unlink() 删除文件
if file_path.exists():
    file_path.unlink()
    print(f"文件 '{file_path}' 已删除。")
else:
    print(f"文件 '{file_path}' 不存在。")

7、使用 shutil 模块(删除文件或目录)

shutil 模块主要用于高级文件操作,如复制和移动文件。如要删除的是文件,可以继续使用 os.remove()os.unlink();如果要删除目录,使用 shutil.rmtree()

import shutil
import os

file_path = 'example.txt'

# 使用 shutil 模块删除文件
if os.path.isfile(file_path):
    os.remove(file_path)
    print(f"文件 '{file_path}' 已删除。")
else:
    print(f"文件 '{file_path}' 不存在。")

8、使用 os.system 执行系统命令

该方法依赖于系统的命令来删除文件,适用于 Unix/Linux 系统。对于 Windows 系统,可以使用 del 命令。由于直接调用系统命令,这种方法通常不推荐,除非有特定需求。

import os

file_path = 'example.txt'

# 使用 os.system() 执行系统命令删除文件
os.system(f'rm {file_path}')
print(f"文件 '{file_path}' 已删除(如果存在)。")

推荐阅读
cjavapy编程之路首页