Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何打开当前目录中的所有.txt和.log文件,搜索并打印搜索到的文件_Python_Search_File Io - Fatal编程技术网

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

Python 如何打开当前目录中的所有.txt和.log文件,搜索并打印搜索到的文件,python,search,file-io,Python,Search,File Io,我试图在当前目录中的所有文本和日志文件中搜索字符串。如果找到匹配项,则打印找到匹配项的文本或日志文件。这可能吗?我如何操作下面的代码来完成这项任务 fiLe = open(logfile, "r") userString = raw_input("Enter a string name to search: ") for line in fiLe.readlines(): if userString in line: print line 你必须用Py

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

  fiLe = open(logfile, "r")
  userString = raw_input("Enter a string name to search: ")
  for line in fiLe.readlines():
      if userString in line:
         print line
你必须用Python来做吗?否则,只需
grep-l“string”*.txt*.log
就可以了。

类似以下内容:

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()

他要求的是平面readdir,而不是递归文件树遍历。
os.listdir()完成了这项工作。

在windows中,walk方法会像os.walk('c:/Python27')或类似的方法吗?谢谢请注意,
str.endswith(后缀[,开始[,结束]])
可以将一个元组作为后缀。如果进行太多的“或”比较,可能会很麻烦。lbrahim是的,我需要用Python来完成这项工作。谢谢你的信息@安德烈·卡隆这看起来是个合理的问题。。。当你能听到文字时,你一定很聪明。。。你是谁来决定它听起来像什么?小伙子,我早就毕业了。。。这是一种自利的爱好。没有什么比利用你的时间带来消极更好的了。像你这样的人。。。。