2015-11-16 106 views
-1

我正在尝试查找目录中文本文件的关键字,然后使用Python查找文件的全名。如何查找包含给定字符串的文件名

设该关键字为'file',但该目录中的该文本文件被称为'newfile'

我试图找出整个文件的名称,以便能够打开它。

+0

为什么Python中的所有文件?曾听说过grep? – wim

回答

3
import os 

keyword = 'file' 
for fname in os.listdir('directory/with/files'): 
    if keyword in fname: 
     print(fname, "has the keyword") 
0

您可以使用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 
-1

使用grep你可以找到包含你正在寻找的Word文件。

grep -r 'word' FOLDER 

-r表示grep来寻找'word'FOLDER

相关问题