Python3-常見文本操作場景

一、遞歸目錄輸出所有文件

#導入os模塊,os模塊提供豐富的文件和目錄的處理方法
import os

#listdir方法返回path指定文件夾下的包含的文件或者文件夾名字列表,注意:不能遞歸查詢;返回只有名稱,不包含路徑
dir_list= os.listdir(待查找的路徑)

#遞歸查詢指定目錄下所有文件,輸出格式:路徑/文件名
def output_file(file_dir):
    dir_list = os.listdir(file_dir)
    
    #循環獲取目錄下文件名,並加上路徑組成完整文件路徑;判斷傳入的參數是否爲文件,決定是否是打印輸出還是繼續遞歸查找
    for dir_one in dir_list:
        #將目錄和文件名合併成一個路徑
        de_path = os.path.join(file_dir, dir_one)

        if os.path.isfile(de_path):
            print(de_path)
        else:
            output_file(de_path)

#遞歸查詢指定目錄下所有文件,輸出格式:文件名
def output_file_basename(file_dir):
    dir_list = os.listdir(file_dir)
    
    #循環獲取目錄下文件名,並加上路徑組成完整文件路徑;判斷傳入的參數是否爲文件,決定是否是打印輸出還是繼續遞歸查找
    for dir_one in dir_list:
        #將目錄和文件名合併成一個路徑
        de_path = os.path.join(file_dir, dir_one)

        if os.path.isfile(de_path):
            print(os.path.basename(de_path))
        else:
            output_file_basename(de_path)

 

二、輸出指定類型文件

如:輸出以.robot結尾的文件

# 遞歸查詢指定目錄下所有文件,輸出格式:文件名
def output_basename_file(file_dir):
    dir_list = os.listdir(file_dir)

    # 循環獲取目錄下文件名,並加上路徑組成完整文件路徑;判斷傳入的參數是否爲文件,決定是否是打印輸出還是繼續遞歸查找
    for dir_one in dir_list:
        # 將目錄和文件名合併成一個路徑
        de_path = os.path.join(file_dir, dir_one)

        if os.path.isfile(de_path) and de_path.endswith('.robot'):
            print(os.path.basename(de_path))
        elif os.path.isfile(de_path):
            continue
        else:
            output_basename_file(de_path)

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章