在 Python 中查找文件
在目录树中搜索特定文件是编程中的常见任务。在 Python 中,可以使用 os.walk 函数来实现。
使用 os.walk
os.walk 是一个用于遍历目录的强大工具。它采用路径作为参数,并为找到的每个目录、子目录和文件生成一个元组。元组的第一个元素是目录的绝对路径,第二个元素是子目录列表,第三个元素是文件列表。
查找单个文件
要在目录树中查找特定文件,您可以迭代 os.walk 的结果。当您找到文件时,您可以返回其路径:
<code class="python">import os def find(name, path): for root, dirs, files in os.walk(path): if name in files: return os.path.join(root, name)</code>
查找所有匹配项
如果您需要查找与给定名称匹配的所有文件,您可以修改 find 以将结果收集到列表中:
<code class="python">def find_all(name, path): result = [] for root, dirs, files in os.walk(path): if name in files: result.append(os.path.join(root, name)) return result</code>
匹配文件模式
您还可以使用 fnmatch 搜索与模式匹配的文件:
<code class="python">import os, fnmatch def find(pattern, path): result = [] for root, dirs, files in os.walk(path): for name in files: if fnmatch.fnmatch(name, pattern): result.append(os.path.join(root, name)) return result find('*.txt', '/path/to/dir')</code>
以上是如何在 Python 中查找文件:os.walk 和文件匹配综合指南。的详细内容。更多信息请关注PHP中文网其他相关文章!