本文主要是介绍Python 查找文件夹,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
要在Python中根据关键字搜索指定目录及其所有子目录下的文件夹,并判断是否存在包含该关键字的文件夹,最后输出每个符合条件的文件夹的绝对路径,你可以使用os
模块来遍历目录树,并使用字符串方法来判断文件夹名是否包含指定的关键字。
下面是一个实现这一功能的示例代码:
import osdef search_folders_with_keyword(root_dir, keyword):"""搜索指定目录及其子目录下所有包含关键字的文件夹,并打印其绝对路径。:param root_dir: 搜索的根目录路径:param keyword: 搜索的关键字"""# 遍历根目录及其子目录for root, dirs, files in os.walk(root_dir):# 检查当前遍历的目录名是否包含关键字if keyword.lower() in os.path.basename(root).lower():print(root) # 输出符合条件的文件夹的绝对路径# 示例用法
if __name__ == "__main__":root_directory = '/path/to/your/directory' # 替换为你的目录路径search_keyword = 'example' # 替换为你想要搜索的关键字search_folders_with_keyword(root_directory, search_keyword)
代码解释:
-
函数定义:
search_folders_with_keyword(root_dir, keyword)
是一个接受两个参数的函数,root_dir
是你想要搜索的根目录路径,keyword
是你想要搜索的关键字。 -
遍历目录:使用
os.walk(root_dir)
来遍历root_dir
目录及其所有子目录。os.walk()
返回一个三元组(dirpath, dirnames, filenames)
,其中dirpath
是当前正在遍历的这个目录的路径,dirnames
是该目录下的所有子目录的名字(不包括路径),filenames
是该目录下的所有非目录文件的名字。 -
检查并打印:在遍历过程中,使用
os.path.basename(root)
获取当前目录名(不包含父目录路径),并使用.lower()
方法将目录名和关键字都转换为小写,以便进行不区分大小写的比较。如果目录名包含关键字,则打印该目录的绝对路径。
注意:
- 请确保将
root_directory
替换为你想要搜索的实际目录路径。 - 关键字搜索是不区分大小写的,因为使用了
.lower()
方法进行转换。 - 这个脚本会递归地搜索所有子目录,直到达到最底层。
这篇关于Python 查找文件夹的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!