在生活中,我们经常会遇到电脑中文件重复的情况。

在文件较少的情况下,这类情况还比较容易处理,最不济就是一个个手动对比删除;

而在重复文件很多的时候,我们很难保证把重复文件全部删完。

这里给大家带来了一个便捷小方法——用Python来删除重复文件

练习时间

Python提供一个内置电脑文件管理库os模块,我们可以利用它来删除多余文件。

当一个文档里存在重复文件名,我们的系统会自动给我们重复的文件名更名,比如下图的文件“1”重复了3次:

python 类重复调用_python

那我们该怎么删除文件“1”的重复文件呢?

我们可以使用os模块的os.remove(path)函数,只需要指定path参数,也就是文件的路径,就可以删除文件。

这里需要提醒大家,一定是包含文件名的路径。

如果不是包含文件名的路径,就会报错,因为这是在删除整个文件夹。

代码演示

这里我们直接给大家展示代码:

import os           # 加载文件管理库

path = "D:\projects"
files = os.listdir(path)    # os.listdir(path) 列出path下的所有文件名的并以”列表“的形式返回
print(type(files))          # 验证files的类型
print("路径:{} 下拥有的文件是{}".format(path, files))        # 打印path下的所有文件名files_delete = files[0:2]        #  找到自己要删除的文件名,这里我们也可以用input函数来指定我需要删除的文件哦!
print(files_delete)    #  打印要删除的文件名
for file_name in files_delete:    
file_path = os.path.join(path, file_name)      # 运用os.path.join(path, file_name)将文件路径与文件名拼接,形成一个新路径   
 os.remove(file_path)                           # 删除文件

print("删除重复文件之后, path下的文件名有哪些:", os.listdir(path))  # 打印删除重复文件之后剩下的文件

这时再去我们指定的路径的文件夹里去看,重复的文件就被删除了!

python 类重复调用_python_02

代码中函数注解:

\1. file_list = os.listdir(path): 列出指定文件路径(参数path)中的所有文件,并以列表形式返回。

\2. file_path = os.path.join(path, “文件名”):将文件路径与文件名拼接,形成一个新路径.比如:os.path.join(path=“D:\projects”, “xiaobei.txt”)得到的结果为:“D\projects\xiaobei.txt”

\3. os.remove(path)删除指定path的文件名。