如何查找所有特定扩展名的文件?

31 投票
15 回答
78598 浏览
提问于 2025-04-16 03:31

我想用Python在一个文件夹里找到所有的.c文件。

我写了这个代码,但它返回给我的却是所有文件,而不是只有.c文件:

import os
import re

results = []

for folder in gamefolders:
    for f in os.listdir(folder):
        if re.search('.c', f):
            results += [f]

print results

我该怎么做才能只得到.c文件呢?

15 个回答

7

KISS

# KISS

import os

results = []

for folder in gamefolders:
    for f in os.listdir(folder):
        if f.endswith('.c'):
            results.append(f)

print results
33

试试“glob”:

>>> import glob
>>> glob.glob('./[0-9].*')
['./1.gif', './2.txt']
>>> glob.glob('*.gif')
['1.gif', 'card.gif']
>>> glob.glob('?.gif')
['1.gif']
51

试着把里面的循环改成这样

results += [each for each in os.listdir(folder) if each.endswith('.c')]

撰写回答