如果A文件夹下的pdf文件名和文件大小一样则删除一个留一个,python代码
时间: 2024-05-06 10:19:06 浏览: 184
使用python实现的pdf文件分割工具,简单易用
你可以使用Python的os和os.path模块来实现这个功能。具体步骤如下:
1. 遍历A文件夹下的所有pdf文件,并记录它们的文件名和大小。
```python
import os
pdf_files = []
for filename in os.listdir('A'):
if filename.endswith('.pdf'):
filepath = os.path.join('A', filename)
filesize = os.path.getsize(filepath)
pdf_files.append((filename, filesize))
```
2. 按文件名和文件大小排序,相同的文件名和文件大小排在一起。
```python
pdf_files.sort()
pdf_files.sort(key=lambda x: x[1])
```
3. 找到相邻的相同文件名和文件大小的文件,并删除一个。
```python
for i in range(len(pdf_files) - 1):
if pdf_files[i][0] == pdf_files[i+1][0] and pdf_files[i][1] == pdf_files[i+1][1]:
filepath1 = os.path.join('A', pdf_files[i][0])
filepath2 = os.path.join('A', pdf_files[i+1][0])
if os.path.exists(filepath1) and os.path.exists(filepath2):
os.remove(filepath2)
```
完整代码如下:
```python
import os
pdf_files = []
for filename in os.listdir('A'):
if filename.endswith('.pdf'):
filepath = os.path.join('A', filename)
filesize = os.path.getsize(filepath)
pdf_files.append((filename, filesize))
pdf_files.sort()
pdf_files.sort(key=lambda x: x[1])
for i in range(len(pdf_files) - 1):
if pdf_files[i][0] == pdf_files[i+1][0] and pdf_files[i][1] == pdf_files[i+1][1]:
filepath1 = os.path.join('A', pdf_files[i][0])
filepath2 = os.path.join('A', pdf_files[i+1][0])
if os.path.exists(filepath1) and os.path.exists(filepath2):
os.remove(filepath2)
```
注意:这个代码没有考虑到同名文件但是不在同一个文件夹下的情况。如果A文件夹下有子文件夹,你需要递归地遍历整个目录树,并且将文件路径中的'A'替换为相应的相对路径。
阅读全文