gpt4 book ai didi

python - 使用 os.walk 在文件中搜索字符串

转载 作者:行者123 更新时间:2023-11-28 22:02:04 25 4
gpt4 key购买 nike

我编写了一个 Python 脚本,用于从目录中的每个文件中找出包含特定脚本的行。如果我让这个脚本在包含这些文件的目录中运行,它就可以正常工作。

#!/usr/bin/env python
import os

def searchthis(location, searchterm):
for fname in os.listdir(location):
fullpath = os.path.join(location, fname)
for line in file(fullpath):
if searchterm in line:
print line



searchthis(os.getcwd(), "mystring")

有什么方法可以使用 os.walk 并在所有目录和子目录中存在的每个文件中递归搜索。

最佳答案

您可以像这样使用一个简单的迭代器:

def all_files(dir):
for root, dirs, files in os.walk(os.path.abspath(dir)):
for f in files:
yield os.path.join(root, f)

例如:

 for path in all_files(os.getcwd()):
with open(path) as f:
for n, line in enumerate(f, 1):
if term in line:
print path, n

关于python - 使用 os.walk 在文件中搜索字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12087366/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com