在不知道扩展名的情况下查找文件夹中的文件?
假设我想在名为“myfolder”的文件夹中搜索文件名“myfile”,在不知道文件格式的情况下该如何执行? 另一个问题:如何列出文件夹的所有文件及其子文件夹(依此类推)的所有文件? 谢谢。
Let's say I want to search for a file name "myfile" in a folder named "myfolder", how can I do it without knowing the format of the file?
Another question: how to list all files of a folder and all the files of it's subfolders (and so on)?
Thank you.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
如果你想列出文件夹中的所有文件,只需将 for 循环更改为
if you want to list all the files in the folder, simply change the for loop into
要列出文件夹及其子文件夹等中的所有文件,请使用
os.walk
函数:在更简单的情况下,您只想查看
'myfolder'
而不是其子文件夹,只需使用os.listdir
函数:To list all files in a folder and its subfolders and so on, use the
os.walk
function:In the easier case where you just want to look in
'myfolder'
and not its subfolders, just use theos.listdir
function:格式
(我的意思是您假设文件类型)与其扩展名(这是其名称的一部分)无关。如果您使用的是 UNIX,则可以使用 find 命令。
find myfolder -name myfile
应该可以。如果您想要完整的列表,可以使用不带任何参数的 find、使用带有
-R
选项的ls
或使用tree
命令。所有这些都在 UNIX 上。The
format
(by which I mean you assume file type) is not related to its extension (which is part of its name).If you're on a UNIX, you can use the find command.
find myfolder -name myfile
should work.If you want a complete listing, you can either use find without any arguments, use
ls
with the-R
option or use thetree
command. All of these are on UNIX.如果您想查看子目录内部,您也可以查看 os.walk 函数。
http://docs.python.org/library/os.html#os.walk
Also you can have a look to os.walk function if you want to look inside subdirectories.
http://docs.python.org/library/os.html#os.walk
我将执行以下操作:
循环遍历目录中的每个文件,获取字符串形式的名称,并通过拆分
.
上的字符串来检查它们是否以myfile
开头。可以将您正在寻找的东西与您拥有的东西进行比较。I would do the following:
Loop through each file in the directory, get the names as strings and check to see if they begin with
myfile
by splitting the string on the.
you can compare what you are looking for with what you have.