如何打开当前目录中的所有.txt和.log文件,搜索并打印找到搜索的文件

2024-04-26 11:55:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图在当前目录中的所有文本和日志文件中搜索字符串。如果找到匹配项,则打印找到匹配项的文本或日志文件。这可能吗?我如何操作下面的代码来完成这项任务?

  fiLe = open(logfile, "r")
  userString = raw_input("Enter a string name to search: ")
  for line in fiLe.readlines():
      if userString in line:
         print line

Tags: 文件字符串代码namein文本inputstring
3条回答

他要求一个平面的readdir,而不是递归的文件树遍历。 listdir()完成任务。

像这样的:

import os
directory = os.path.join("c:\\","path")
for root,dirs,files in os.walk(directory):
    for file in files:
       if file.endswith(".log") or file.endswith(".txt"):
           f=open(file, 'r')
           for line in f:
              if userstring in line:
                 print "file: " + os.path.join(root,file)             
                 break
           f.close()

你有没有用Python来做?否则,只要grep -l "string" *.txt *.log就可以了。

相关问题 更多 >