假設我今天有一個情況

就是我有很多病人編號資料夾

並且我之前有寫程式從病人資料夾產生檔案了

但是我要比對哪一些病人資料夾沒有對應的檔案

該如何做呢?

 

可以參考以下程式

import os

original_root   = 'D:/PID_DIR/' # 病人資料夾
outputPath      = 'D:/PID_DATA/' # 產生的病人檔案


# 列出路徑中的所有內容
items = os.listdir(original_root)
# 過濾出資料夾 - 資料夾名稱就是 PID
dirs = [item for item in items if os.path.isdir(os.path.join(original_root, item))]


# 列出路徑中的所有內容
items = os.listdir(outputPath)
# 過濾出檔案 - 並取出第一個分割字符作為PID
files = [item.split("_")[0] for item in items if os.path.isfile(os.path.join(outputPath, item))]

dirs = set(dirs)
files = set(files)

# 找出 dirs 中有而 files 中沒有的元素
difference1 = list(dirs - files)
print(difference1)

給大家參考囉