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刪除指定后綴文件

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM