我正在尝试使用Python在目录中查找文本文件的关键字,然后找出整个文件的名称。假设这个关键字是"file",但是该目录中的文本文件名为"newfile"。我想要找出整个文件名以便能够打开它。
import os
keyword = 'file'
for fname in os.listdir('directory/with/files'):
if keyword in fname:
print(fname, "has the keyword")
fnmatch
。根据文档:
此示例将打印具有扩展名 .txt 的当前目录中的所有文件名:
import fnmatch
import os
for filename in os.listdir('.'):
if fnmatch.fnmatch(filename, '*.txt'):
print filename
根据你的示例,你需要使用 fnmatch(filename, '*file*')
。
例如:
>>> from fnmatch import fnmatch
>>> fnmatch('newfile', '*file*')
True
>>> fnmatch('newfoal', '*file*')
False
使用grep命令可以定位包含你所查找的单词的文件。
grep -r 'word' FOLDER
-r 表示在 FOLDER
的所有文件中使用 grep 查找 'word'