我有这个脚本,我毫不怀疑它是有缺陷的:
import fnmatch, os, sys
def findit (rootdir, find, pattern):
for folder, dirs, files in os.walk(rootdir):
print (folder)
for filename in fnmatch.filter(files,pattern):
with open(filename) as f:
s = f.read()
f.close()
if find in s :
print(filename)
findit(sys.argv[1], sys.argv[2], sys.argv[3])
当我运行它时,我得到Errno2, no such file or directory
. 但是该文件存在。例如,如果我通过 go 执行它:findit.py c:\python "folder" *.py
它会正常工作,列出所有包含“文件夹”一词的 *.py 文件。但是如果我去findit.py c:\php\projects1 "include" *.php
作为一个例子,我得到[Errno2] no such file or directory: 'About.php'
(例如)。但是 About.php 存在。我不明白它在做什么,或者我做错了什么。