📅  最后修改于: 2023-12-03 15:06:54.129000             🧑  作者: Mango
在日常的开发过程中,我们可能需要对本地文件进行搜索,以查找特定类型的文件、或查找包含特定字符串的文件等。Python 作为一个强大的脚本语言,可以很方便地实现这些功能。
Python 文件搜索常用的实现方法有 os.walk()
和 glob()
函数。
os.walk()
函数可以遍历指定路径下的所有文件和目录,使用起来也非常简单直观。可以使用以下代码实现搜索指定目录下的所有 Python 文件:
import os
def search_python_files(dir_path):
py_files = []
for root, dirs, files in os.walk(dir_path):
for file in files:
if file.endswith('.py'):
py_files.append(os.path.join(root, file))
return py_files
具体实现步骤为:
os.walk()
函数实现;glob()
函数可以返回指定模式下的所有路径,可以使用通配符 *
、?
等字符实现模糊匹配。可以使用以下代码实现搜索指定目录下的所有 Python 文件:
import glob
def search_python_files(dir_path):
return glob.glob(os.path.join(dir_path, '**/*.py'), recursive=True)
具体实现步骤为:
os.path.join()
拼接目标目录和文件匹配模式;glob.glob()
函数返回指定模式下的所有匹配路径。以下示例演示了如何实现搜索包含指定字符串的文件:
import os
def search_files_by_keyword(dir_path, keyword):
result = []
for root, dirs, files in os.walk(dir_path):
for file in files:
file_path = os.path.join(root, file)
if keyword in open(file_path, encoding='utf-8', errors='ignore').read():
result.append(file_path)
return result
具体实现步骤为:
os.walk()
函数实现;open()
函数读取文件内容,并判断是否包含目标字符串;Python 是一个十分适合实现文件搜索的语言,使用 os.walk()
和 glob()
函数能够快速、简单地实现文件搜索的需求。同时,Python 也支持读取和处理文本文件、二进制文件、CSV 文件等常见文件格式,能够应对更为复杂的文件处理任务。