使用Python在同一目录中查找相同类型的文件

使用Python在同一目录中查找相同类型的文件,python,Python,是否有一种方法可以找到指定的特定文件类型的所有文件,并递归调用它们以进行读取,直到您读取了所有文件?(这是在Ubuntu中) 例如: 在目录/home中有文件a.png,b.txt,c.txt,d.txt,e.jpeg 我想阅读所有的txt文件 在Python中如何做到这一点 子问题:是否可以使用两种不同的文件类型执行上述操作?您可以使用以下方法: >>> from glob import glob >>> glob('/home/*.txt') ['/ho

是否有一种方法可以找到指定的特定文件类型的所有文件,并递归调用它们以进行读取,直到您读取了所有文件?(这是在Ubuntu中)

例如:

在目录
/home
中有文件
a.png
b.txt
c.txt
d.txt
e.jpeg
我想阅读所有的
txt
文件

在Python中如何做到这一点

子问题:是否可以使用两种不同的文件类型执行上述操作?

您可以使用以下方法:

>>> 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']]
>>> 
您可以使用以下方法执行此操作:

>>> 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']]
>>> 

假设您正在使用文件扩展名猜测类型,则可以根据文件名使用并过滤文件:

import os

for filename in os.listdir('.'):
    if filename.endswith('.txt'):
        # Do what you want to do

假设您正在使用文件扩展名猜测类型,则可以根据文件名使用并过滤文件:

import os

for filename in os.listdir('.'):
    if filename.endswith('.txt'):
        # Do what you want to do

我真的怀疑你是否会在这方面使用所有这些语言,所以听起来这个问题太宽泛了。@Nathantugy:不,因为OP说他只想使用Python,所以我删除了这些标记。听起来像
os.walk
适合你。写一些代码,看看它是如何运行的。我真的怀疑你是否会在这方面使用所有这些语言,所以这个问题听起来太宽泛了。@Nathantugy:不,因为OP说他只想使用Python,所以我删除了这些标记。听起来像
os.walk
适合你。编写一些代码,看看它是如何运行的。请参阅