假设我想在名为“myfolder”的文件夹中搜索文件名为“myfile”的文件,如果不知道文件格式,我该如何操作? 另一个问题是:如何列出一个文件夹的所有文件以及它的子文件夹(以此类推)中的所有文件? 谢谢。
import os
import glob
path = 'myfolder/'
for infile in glob.glob( os.path.join(path, 'myfile.*') ):
print "current file is: " + infile
for infile in glob.glob( os.path.join(path) ):
要列出文件夹及其子文件夹中的所有文件,可以使用os.walk
函数:
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
函数 即可:
import os
for name in os.listdir('/blah/myfolder'):
if 'myfile' in name:
print ("Found %s" % name)
格式
(我指的是您假定的文件类型)与其扩展名(它是其名称的一部分)无关。
如果您在UNIX上,可以使用find命令。 find myfolder -name myfile
应该可以工作。
如果您想要完整的列表,可以使用没有任何参数的find,使用带有-R
选项的ls
或使用tree
命令。所有这些都在UNIX上。