1. 程式人生 > 實用技巧 >python 查詢檔案,迴圈遍歷資料夾,獲取資料夾中的某個檔案中的檔案,判斷檔案是否包含在某個資料夾下

python 查詢檔案,迴圈遍歷資料夾,獲取資料夾中的某個檔案中的檔案,判斷檔案是否包含在某個資料夾下


import os

filepath = r'C:\Users\bqm66\AppData\Local\Encoo\Encoo Robot\JobLogs\local\管理員許可權可以訪問的檔案\1.0.0'
filelist = []


# 拿到所有的日誌檔案
class LogFile:
    try:
        pathDir = os.listdir(filepath)
        for allDir in pathDir:
            child = os.path.join('%s%s' % (filepath, allDir))
            # print('列印檔案', child)
            filelist.append(child)
            # print('所有檔案', filelist)
        '''
        1.拿到最後一個(即最新的執行時間的檔案)
        2.需要做字串取值,拿到後14個字元
        3.做字串拼接,獲取到真正正確的路徑,可輸入檔案位置直接開啟的檔案有效路徑
        4.校驗log檔案是否存在
        5.校驗截圖檔案是否存在,獲取檔案中的截圖數量,列印輸出結果
        '''
        endfile_name = filelist[-1]
        # print(type(endfile_name), endfile_name)
        # print('拿到後14個字元', endfile_name[-14:])
        new_file = endfile_name[-14:]
        rod = f'\{new_file}'
        # 我是最後轉換的正確路徑
        correct_path = filepath + rod
        # print('我是最後轉換的正確路徑', correct_path)
        # 進行資料夾內容迴圈獲取
        pathDir = os.listdir(correct_path)
        for allDir in pathDir:
            child = os.path.join('%s%s' % (filepath, allDir))
            # print('列印正確的檔案', type(child), child)
            correctlogname = 'job-' + new_file + '.log'
            jietu = 'Screenshots'
            if correctlogname and jietu in child:
                print('日誌檔案已存在,Screenshots檔案已存在')
        # 截圖路徑
        jietu_road = '\Screenshots'
        correct_jietu_road = correct_path + jietu_road
        # print('我是最後轉換的正確路徑', correct_jietu_road)
        pathDir = os.listdir(correct_jietu_road)
        child_list = []
        for allDir in pathDir:
            child = os.path.join('%s%s' % (filepath, allDir))
            # print('列印正確的檔案', type(child), child)
            child_list.append(child)
            jietu_num = len(child_list)
            # print('我最後的值是', len(child_list), child_list)
            if 'jpg' in child:
                print(f'執行截圖功能通過,總共有{jietu_num}張截圖')
    except:
        print('系統資原始檔不匹配,非有效檔案路徑,點選Robot日誌,檢查對應磁碟檔案配置')

LogFile()