如果A文件夹下的pdf文件名和文件大小一样则删除一个留一个,python代码
时间: 2023-08-31 18:22:49 浏览: 124
使用python实现的pdf文件分割工具,简单易用
### 回答1:
使用Python可以使用os模块和hashlib模块来实现这个功能。
```
import os
import hashlib
folder_path = 'A' # 文件夹路径
pdf_files = {} # 用来存储文件名和文件大小的字典
for file_name in os.listdir(folder_path):
if file_name.endswith('.pdf'):
file_path = os.path.join(folder_path, file_name)
file_size = os.path.getsize(file_path)
pdf_files[file_name] = file_size
for file_name, file_size in pdf_files.items():
# 删除文件名和文件大小都相同的文件
if pdf_files.count(file_size) > 1:
os.remove(os.path.join(folder_path, file_name))
```
这段代码会循环遍历文件夹中的所有文件,如果文件名以.pdf结尾,则将其文件名和文件大小存储到字典中。然后再遍历字典,如果文件大小相同的文件数量大于1,则删除这个文件。
### 回答2:
可以使用Python的os模块和shutil模块来实现这个功能。
首先,我们需要通过os模块获取A文件夹下所有的文件路径,可以使用os.listdir()函数来实现。然后,我们可以使用os.path.splitext()函数来获取文件的扩展名,以便判断是否为pdf文件。
接下来,我们可以遍历文件列表,并使用os.path.getsize()函数获取文件的大小。
最后,通过shutil模块的os.remove()函数来删除一个文件。
下面是示例代码:
```python
import os
import shutil
folder_path = "A文件夹的路径"
# 获取文件路径列表
file_list = os.listdir(folder_path)
# 遍历文件列表
for file_name in file_list:
file_path = os.path.join(folder_path, file_name)
# 判断是否为pdf文件
if os.path.isfile(file_path) and os.path.splitext(file_name)[1] == ".pdf":
# 获取文件大小
file_size = os.path.getsize(file_path)
# 判断是否有其他同名文件大小相同的pdf文件
if file_list.count(file_name) > 1 and file_list.count(file_size) > 1:
os.remove(file_path)
```
以上代码会遍历A文件夹下的所有文件,找出文件名和文件大小相同的pdf文件,并删除其中一个。请将"文件夹路径"替换为真实的A文件夹的路径。注意,这段代码只会删除一个文件,如果有多个文件名和文件大小相同的pdf文件,需要多次运行代码来删除。
### 回答3:
可以使用Python的`os`和`os.path`模块来实现这个功能。下面是一个示例代码:
```python
import os
# 获取文件夹A下所有的文件名
file_names = os.listdir('A')
# 创建一个空字典,用于存储pdf文件名和文件大小的映射关系
pdf_files = {}
# 遍历文件夹A下的所有文件
for file_name in file_names:
# 判断文件是否是pdf格式
if file_name.endswith('.pdf'):
# 获取文件的完整路径
file_path = os.path.join('A', file_name)
# 获取文件的大小
file_size = os.path.getsize(file_path)
# 判断pdf文件名是否已经存在于字典中
if file_name in pdf_files:
# 如果存在,则比较文件大小
if file_size > pdf_files[file_name]:
# 如果当前文件的大小大于之前文件的大小,则更新字典中的文件大小
pdf_files[file_name] = file_size
else:
# 如果当前文件的大小小于等于之前文件的大小,则删除当前文件
os.remove(file_path)
else:
# 如果pdf文件名不存在于字典中,则将文件名和文件大小添加到字典中
pdf_files[file_name] = file_size
```
这段代码首先通过`os.listdir`函数获取文件夹A下的所有文件名,然后遍历每个文件名,判断是否为pdf文件,并获取文件的完整路径和大小。然后将文件名和大小存储到字典`pdf_files`中。如果文件名已经存在于字典中,则比较文件大小,保留较大的文件并删除较小的文件。最终,留下的文件名和大小信息存储在字典`pdf_files`中。
阅读全文