查找目录中的“所有”文件,而不是找到所有文件

时间:2014-12-01 20:39:13

标签: python file shell scripting find

使用python,我正在尝试查找/ sys中的所有文件并匹配某个文件。我遇到的问题是并非所有文件都被找到。这不是访问问题。我知道python可以读取和写入文件,我已经使用file.open("file_path","w")file.write()手动测试了该文件。我只想知道是否有一些技巧来定位我在这里缺少的文件:

import os,re

for roots,dirs,files in os.walk('/sys'):
  match=re.search(r'\S+/rq_affinity',roots)
  if match:
    print(match.group())

我已经尝试将使用os.walk()找到的每个文件写入文件,然后使用shell和grep查看我正在查找的文件是否存在,所以问题是没有匹配。


固定搜索:

import os,re

for roots,dirs,files in os.walk('/sys'):
  for file in files:
    match=re.search(r'\S+/rq_affinity',os.path.join(roots,file))
    if match:
      print(match.group())

1 个答案:

答案 0 :(得分:2)

rq_affinity是不是文件?你为什么要在roots中得到它?

/sys/dev/block下的条目也是符号链接,因此您需要告诉os.walk followlinks=True跟随它们。