使用Python查找文件夹可以通过多种方式实现,以下是几种常见的方法:
1. 使用`os`模块的`listdir()`函数列出文件夹内容,然后使用`os.path`模块进行进一步操作。
import os
def find_files(folder):
for file_name in os.listdir(folder):
file_path = os.path.join(folder, file_name)
if os.path.isfile(file_path):
print(file_path)
folder_path = '/path/to/folder' 替换为实际要查找的文件夹路径
find_files(folder_path)
2. 使用`pathlib`模块的`rglob()`方法递归地搜索文件夹。
from pathlib import Path
while True:
f = input('请输入要在哪个文件夹下进行查找(如D:\\或D:\\案例\\): ')
f = Path(f.strip())
if f.exists() and f.is_dir():
break
else:
print('输入的路径不存在或不正确,请重新输入!')
keyword = input('请输入要查找的文件或文件夹的名称: ').strip()
result = list(f.rglob(keyword))
if len(result) != 0:
print(f'在【{f}】下查找到以下名为【{keyword}】的文件或文件夹:')
for i in result:
print(i)
else:
print(f'在【{f}】下未查找到名为【{keyword}】的文件或文件夹!')
3. 使用`re`模块进行正则表达式匹配搜索。
import os
import re
def find_file_by_pattern(pattern='.*'):
base = '.' 当前目录
final_file_list = []
for root, dirs, files in os.walk(base):
for file_name in files:
full_path = os.path.join(root, file_name)
if os.path.isfile(full_path):
if re.search(pattern, full_path):
final_file_list.append(full_path)
return final_file_list
4. 使用`os.walk()`函数遍历文件夹。
import os
def file_name_search(file_dir_path, keyword):
search_result_array = []
for root, dirs, files in os.walk(file_dir_path):
for file_name in files:
if re.search(keyword, file_name):
search_result = os.path.join(root, file_name).replace(' \\', '/')
search_result_array.append(search_result)
return search_result_array
选择合适的方法可以根据你的具体需求,例如是否需要递归搜索、是否需要正则表达式匹配等。希望这些方法能帮助你快速找到所需的文件夹