私はこのスクリプトを持っていますが、間違いなく欠陥があります:
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
ます。しかし、ファイルは存在します。たとえば、次のように実行すると、findit.py c:\python "folder" *.py
「フォルダー」という単語を含むすべての *.py ファイルが一覧表示され、問題なく動作します。しかし、もし私が行くならfindit.py c:\php\projects1 "include" *.php
私が得た例として[Errno2] no such file or directory: 'About.php'
(たとえば)。しかし、About.php は存在します。それが何をしているのか、何が間違っているのかわかりません。