您的位置:

Python中删除文件的方法

一、os模块的remove()方法

要删除文件,最基本的方法就是使用os模块中的remove()方法。该方法用于删除指定路径的文件。以下是示例代码:

import os

file_path = '/path/to/file'
if os.path.exists(file_path):
    os.remove(file_path)
    print('文件删除成功!')
else:
    print('文件不存在!')

以上代码首先判断待删除文件是否存在,如果存在就使用os.remove()方法删除文件,并输出“文件删除成功!”;否则就输出“文件不存在!”。

二、shutil模块的rmtree()方法

如果需要删除的是一个文件夹,那么使用os.remove()方法就不够了,需要使用shutil模块中的rmtree()方法。该方法可以递归地删除文件夹及其下面的所有文件和文件夹。以下是示例代码:

import shutil

dir_path = '/path/to/directory'
if os.path.exists(dir_path):
    shutil.rmtree(dir_path)
    print('文件夹删除成功!')
else:
    print('文件夹不存在!')

以上代码首先判断待删除文件夹是否存在,如果存在就使用shutil.rmtree()方法删除文件夹,并输出“文件夹删除成功!”;否则就输出“文件夹不存在!”。

三、用with语句删除文件

除了使用os.remove()方法删除文件,还可以使用with语句。with语句可以在离开代码块时自动关闭文件,同时也可以用来删除文件。

import os

file_path = '/path/to/file'
if os.path.exists(file_path):
    with open(file_path, 'w') as f:
        pass
    os.remove(file_path)
    print('文件删除成功!')
else:
    print('文件不存在!')

以上代码使用with语句创建一个空白文件,并在with语句执行完毕后自动关闭该文件,接着使用os.remove()方法删除文件,并输出“文件删除成功!”。

四、使用glob模块删除多个文件

有时候我们需要一次性删除多个符合条件的文件,这时候可以使用glob模块。该模块提供了一个glob()方法,可以根据指定的通配符返回符合条件的文件名列表。

import glob

file_list = glob.glob('/path/to/*.txt')
for file_path in file_list:
    os.remove(file_path)
print('文件删除成功!')

以上代码使用glob模块返回所有以“.txt”为后缀名的文件列表,接着使用for循环逐一删除文件,并最终输出“文件删除成功!”。