一、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循环逐一删除文件,并最终输出“文件删除成功!”。