如何查找包含给定字符串的文件名

时间:2015-11-16 20:14:09

标签: python

我正在尝试在目录中查找文本文件的关键字,然后使用Python查找文件的全名。

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

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

3 个答案:

答案 0 :(得分:3)

import os

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

答案 1 :(得分: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

答案 2 :(得分:-1)

使用grep,您可以找到包含您要查找的单词的文件。

grep -r 'word' FOLDER

-r表示grep在'word'的所有文件中查找FOLDER