python遍历指定后缀名的文件

方法1:

def getFileName(path):
''' 获取指定目录下的所有指定后缀的文件名 '''

f_list = os.listdir(path)
# print f_list
for i in f_list:
# os.path.splitext():分离文件名与扩展名
if os.path.splitext(i)[1] == '.log':

      print(i)
if __name__ == '__main__':
path = '/home/xx/work/ETS/log/1/1'
getFileName(path)

小结:无法遍历二级文件夹。

方法2:

#!/usr/bin/python
import os

for root , dirs, files in os.walk(r'E:\.m2\repository'):
    for name in files:
        if name.endswith(".repositories") or name.endswith(".sha1"):
            os.remove(os.path.join(root, name))
            print ("Delete File: " + os.path.join(root, name))
os.system("pause")

方法3:

#coding=utf-8
import os

def list_allfile(path,all_files=[],all_py_files=[]):    
    if os.path.exists(path):
        files=os.listdir(path)
    else:
        print('this path not exist')
    for file in files:
        if os.path.isdir(os.path.join(path,file)):
            list_allfile(os.path.join(path,file),all_files)
        else:
            all_files.append(os.path.join(path,file))
    for file in all_files:
        if file.endswith('.py'):
            all_py_files.append(file)
    return all_py_files


    
if __name__ == "__main__":
    print(list_allfile(r'D:\学习资料\kira'))

方法4:

匹配时也可用正则表达式来。

#coding=utf-8
import os
import re

def list_allfile(path,all_files=[],all_py_files=[]):    
    if os.path.exists(path):
        files=os.listdir(path)
    else:
        print('this path not exist')
    for file in files:
        if os.path.isdir(os.path.join(path,file)):
            list_allfile(os.path.join(path,file),all_files)
        else:
            all_files.append(os.path.join(path,file))
    for file in all_files:
        if re.match('.+\.py$',file):
            all_py_files.append(file)
    return all_py_files


    
if __name__ == "__main__":
    print(list_allfile(r'D:\学习资料\kira'))

 

方法3、4来源:python遍历文件夹找到指定后缀名结尾的文件 - 知乎 (zhihu.com)

方法1来源:(43条消息) python获取指定目录下的所有指定后缀的文件名_zhuxiongxian的博客-CSDN博客_python 搜索后缀文件

方法2来源:(43条消息) python遍历删除指定后缀文件_taoyuanforrest的博客-CSDN博客_python删除指定后缀文件

 

posted on 2022-04-17 15:39  一杯明月  阅读(2809)  评论(0编辑  收藏  举报