在不知道扩展名的情况下在文件夹中查

时间:2011-06-27 07:10:41

标签: python file search directory match

假设我想在名为“myfolder”的文件夹中搜索文件名“myfile”,如何在不知道文件格式的情况下执行此操作? 另一个问题:如何列出文件夹的所有文件它的子文件夹的所有文件(等等)? 谢谢。

5 个答案:

答案 0 :(得分:4)

import os
import glob
 
path = 'myfolder/'
for infile in glob.glob( os.path.join(path, 'myfile.*') ):
    print "current file is: " + infile

如果要列出文件夹中的所有文件,只需将for循环更改为

即可
for infile in glob.glob( os.path.join(path) ):

答案 1 :(得分:3)

要列出文件夹及其子文件夹等中的所有文件,请使用os.walk function

import os
for root, dirs, files in os.walk('/blah/myfolder'):
    for name in files:
        if 'myfile' in name:
            print ("Found %s" % name)

在您只想查看'myfolder'而不是其子文件夹的简单情况下,只需使用os.listdir function

import os
for name in os.listdir('/blah/myfolder'):
    if 'myfile' in name:
        print ("Found %s" % name)

答案 2 :(得分:0)

我不知道python的逻辑,但我会做以下事情:

循环遍历目录中的每个文件,将名称作为字符串获取,并通过在“。”上分割字符串来检查它们是否以“myfile”开头。你可以比较你所寻找的东西。

答案 3 :(得分:0)

format(我的意思是你假定文件类型)与其扩展名(它是其名称的一部分)无关。

如果您使用的是UNIX,则可以使用find命令。 find myfolder -name myfile应该有效。

如果需要完整列表,可以使用不带任何参数的find,使用带有ls选项的-R或使用tree命令。所有这些都在UNIX上。

答案 4 :(得分:0)

如果你想查看子目录,你也可以查看os.walk函数。

http://docs.python.org/library/os.html#os.walk