在不知道扩展名的情况下查找文件?

4 投票
5 回答
3678 浏览
提问于 2025-04-16 20:21

假设我想在一个叫“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) ):

撰写回答