我正在尝试查找目录中文本文件的关键字,然后使用Python查找文件的全名。如何查找包含给定字符串的文件名
设该关键字为'file'
,但该目录中的该文本文件被称为'newfile'
。
我试图找出整个文件的名称,以便能够打开它。
我正在尝试查找目录中文本文件的关键字,然后使用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*')
。
e.g:
>>> from fnmatch import fnmatch
>>> fnmatch('newfile', '*file*')
True
>>> fnmatch('newfoal', '*file*')
False
使用grep你可以找到包含你正在寻找的Word文件。
grep -r 'word' FOLDER
-r表示grep来寻找'word'
在FOLDER
为什么Python中的所有文件?曾听说过grep? – wim