В настоящее время я работаю над сценарием для просеивания файловых систем (как Linux, так и Windows) для поиска определенных строк в текстовых файлах.С помощью того, что у меня есть ниже, я могу выбрать, с чего начать, получить полные пути к файлам с нужными расширениями, но stringstofind, похоже, не выполняет итерацию правильно.В конце концов я сделаю это там, где я могу выбрать расширения файлов для поиска и ввести строки, которые я ищу, но сейчас мне просто нужно, чтобы это работало, чтобы я мог понять, что я делаю неправильно.Заранее спасибо!
пока у меня есть:
import os
userinput = input("What directory to search?")
stringstofind = ["String1", "String2", "String3"]
for roots,subdir, files in os.walk(userinput):
for fname in files:
#I know this if line is ugly, but like with stringstofind I had a hard
#time getting it to iterate through right.
if ".txt" in fname or ".rtf" in fname or ".doc" in fname:
filepath = os.path.join(roots,fname)
with open(filepath, 'r') as f:
for lines in f:
if stringstofind in lines:
print("found target")