有没有办法找到指定的特定文件类型的所有文件,并递归调用它们直到您已读取所有文件? (这是在Ubuntu中)
例如:
在目录INSTALLED_APPS
中,您有文件/home
,a.png
,b.txt
,c.txt
,d.txt
我想阅读e.jpeg
的所有文件。
如何在Python中这样做?
子问题:是否可以使用两种不同的文件类型执行上述操作?
答案 0 :(得分:2)
您可以使用glob.glob()
执行此操作:
>>> from glob import glob
>>> glob('/home/*.txt')
['/home/c.txt', '/home/d.txt', '/home/b.txt']
>>> [glob(i) for i in ['/home/*.txt', '/home/*.jpeg']]
[['/home/c.txt', '/home/d.txt', '/home/b.txt'], ['/home/e.jpeg']]
>>>
答案 1 :(得分:1)
假设您正在使用文件的扩展名来猜测类型,您可以使用os.listdir并根据文件名过滤文件:
import os
for filename in os.listdir('.'):
if filename.endswith('.txt'):
# Do what you want to do