用python遍历文件夹1,得到所有pdf文件的名称。遍历文件夹2中的所有txt文件名称,如果pdf文件的名称无法被任何txt文件名称包含,就在控制台输出pdf文件的所在路径,反之不做任何操作。
时间: 2023-05-28 13:06:43 浏览: 290
可以使用os模块中的walk()函数遍历文件夹,使用正则表达式来匹配文件名。代码如下:
```python
import os
import re
# 遍历文件夹1,找到所有pdf文件
pdf_files = []
for root, dirs, files in os.walk("folder1"):
for file in files:
if re.search(r'\.pdf$', file):
pdf_files.append(os.path.join(root, file))
# 遍历文件夹2,找到所有txt文件
txt_files = []
for root, dirs, files in os.walk("folder2"):
for file in files:
if re.search(r'\.txt$', file):
txt_files.append(file)
# 判断pdf文件名是否被txt文件名包含
for pdf_file in pdf_files:
flag = False
for txt_file in txt_files:
if txt_file.find(os.path.basename(pdf_file)) != -1:
flag = True
break
if not flag:
print(pdf_file)
```
首先,使用两次for循环分别遍历文件夹1和文件夹2中的所有文件。使用正则表达式来匹配文件名,只保留后缀为pdf或txt的文件。pdf文件的完整路径保存在列表pdf_files中,txt文件的文件名保存在列表txt_files中。
接着,对于每个pdf文件,使用一个flag变量来记录是否被txt文件名包含。遍历txt_files列表中的每个txt文件,判断pdf文件名是否被txt文件名包含。如果被包含,则将flag标记为True,跳出循环。如果在txt_files中没有找到任何一个文件名包含pdf文件名,则说明pdf文件名无法被任何txt文件名包含,输出pdf文件的完整路径。
阅读全文