在不知道扩展名的情况下查找文件?
假设我想在一个叫“myfolder”的文件夹里搜索一个名为“myfile”的文件,但我不知道这个文件的格式,我该怎么做呢?
还有一个问题:怎么列出一个文件夹里的所有文件,以及它里面所有子文件夹里的文件(还有更多的子文件夹)?谢谢。
5 个回答
0
我会这样做:
遍历目录中的每个文件,获取文件名作为字符串,然后通过在字符串中用.
进行分割,检查这些文件名是否以myfile
开头。这样你就可以把你要找的和现有的进行比较。
4
如果你想列出一个文件夹及其所有子文件夹里的所有文件,可以使用os.walk
函数:
import os
for root, dirs, files in os.walk('/blah/myfolder'):
for name in files:
if 'myfile' in name:
print (f"Found {name}")
如果你只想查看'myfolder'
这个文件夹里的文件,而不想看它的子文件夹,可以直接用os.listdir
函数:
import os
for name in os.listdir('/blah/myfolder'):
if 'myfile' in name:
print (f"Found {name}")
5
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) ):