gpt4 book ai didi

python - 在多个文件/目录中搜索字符串,然后打印文本文件的内容

转载 作者:行者123 更新时间:2023-12-04 10:33:23 24 4
gpt4 key购买 nike

我正在尝试制作一个小脚本,允许我搜索位于特定目录中的文本文件和嵌套在该目录中的文件夹。我设法让它列出该路径中的所有文件,但似乎无法让它在这些文件中搜索特定字符串,然后打印全文文件。

代码:

import os
from os import listdir
from os.path import isfile, join

path = "<PATH>"

for root, dirs, files in os.walk(path):
for file in files:
if file.endswith('.txt'):
dfiles = str(file)

sTerm = input("Search: ")

for files in os.walk(path):
for file in files:
with open(dfiles) as f:
if sTerm in f.read():
print(f.read())

第一部分来自我为列出所有文件所做的测试,一旦成功,我尝试使用第二部分搜索所有文件以查找匹配的字符串,然后在找到匹配字符串时打印完整文件。我可能有一种更简单的方法来做到这一点。

最佳答案

这是 Python 3.4+ 的解决方案,因为 pathlib :

from pathlib import Path

path = Path('/some/dir')

search_string = 'string'

for o in path.rglob('*.txt'):
if o.is_file():
text = o.read_text()
if search_string in text:
print(o)
print(text)

上面的代码将查找所有 *.txtpath及其子目录,读取 text中每个文件的内容, 搜索 search_stringtext如果匹配,则打印文件名及其内容。

关于python - 在多个文件/目录中搜索字符串,然后打印文本文件的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60307713/

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