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

问题描述 投票:0回答:5

假设我想在名为“myfolder”的文件夹中搜索文件名为“myfile”的文件,在不知道文件格式的情况下该怎么做? 另一个问题:如何列出文件夹的所有文件及其子文件夹的所有文件(等等)? 谢谢你。

python file search directory match
5个回答
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) ):
    

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}")
    

0
投票

format

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

如果您使用的是 UNIX,则可以使用

find 命令。 find myfolder -name myfile

 应该可以。 

如果您想要完整的列表,您可以使用不带任何参数的 find、使用

ls

-R
 选项或使用 
tree
 命令。所有这些都在 UNIX 上。


0
投票
如果你想查看子目录内部,你也可以查看 os.walk 函数。

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


0
投票
我不知道Python的逻辑,但我会这样做:

循环遍历目录中的每个文件,以字符串形式获取名称,并通过在“.”上拆分字符串来检查它们是否以“myfile”开头。您可以将您正在寻找的东西与您拥有的东西进行比较。

© www.soinside.com 2019 - 2024. All rights reserved.