Python
按特定順序處理文件
我在一個文件夾中有 40k 張圖像。文件名遵循以下模式:
1558058263_18ea873ddcf8c65e.jpg 1558408930_63c29ce4462ec194.jpg 1558062887_18ea873ddcf8c65e.jpg
在此文件名的第一部分是時間戳,第二部分是生成圖像的機器 ID。
我想僅根據時間戳按順序處理這些文件中的每一個。如何按順序獲取文件進行處理。我正在使用 python3 來選擇文件。目前程式碼如下:
for root, dirs, files in os.walk(path): for name in files: img=fr.load_image_file('/home/ubuntu/faces/' + name)
在我看來,您可以使用
sort()
orsorted()
函式(來自Stack Overflow):# ... for root, dirs, files in os.walk(path): files.sort() for name in files: print(name)
或者
# ... for root, dirs, files in os.walk(path): for name in sorted(files): print(name)
您可以嘗試通過 lambda (UNTESTED) 進行排序:
for root, dirs, files in os.walk(path): for name in sorted(files, key=lambda x: int(re.search(r'\d+', x).group())): img=fr.load_image_file('/home/ubuntu/faces/' + name)