簡體   English   中英

Python 將目錄中的所有文件移動到另一個目錄中帶有時間戳的子目錄

[英]Python move all files in directory to sub-directory with timestamp in another directory

我有一個目錄(未處理),其中有一些文件。 我需要一種 python 方式在另一個目錄(已處理)中創建一個帶時間戳的子目錄(Pr_DDMMYY_HHMiSS),並將上述文件移動到新創建的子目錄(Pr_DDMMYY_HHMiSS)中。 這些要創建的子目錄將作為文件更改的備份。 也歡迎其他解決方案設計。

主目錄(未處理的將托管待處理的文件,並且在處理時,這些文件將移動到已處理的 Pr_150321_195708 (Pr_DDMMYY_HHMiSS) 中。

在此處輸入圖像描述

未處理的子目錄

在此處輸入圖像描述

處理的子目錄

在此處輸入圖像描述

已處理文件夾的示例(在運行清空未處理目錄並將文件移動到此處的過程之后。

在此處輸入圖像描述

假設您的腳本與ProcessedUnprocessed目錄位於同一文件夾中,您可以這樣做:

import os, shutil, datetime

UNPROCESSED_PATH = 'Unprocessed'
PROCESSED_PATH = 'Processed'

try:
    filesToMove = os.listdir(UNPROCESSED_PATH)
except FileNotFoundError:
    print(f"No '{UNPROCESSED_PATH}' directory found")
    exit()

if len(filesToMove) == 0:
    print('No files to process')
    exit()

currTime = datetime.datetime.now()
currTimeStr = currTime.strftime("%d%m%y_%H%M%S")

newDirPath = f'{PROCESSED_PATH}/Pr_{currTimeStr}'
os.mkdir(newDirPath)
print(f'Created {newDirPath} directory')

for file in filesToMove:
    shutil.move(f'{UNPROCESSED_PATH}/{file}', f'{newDirPath}/{file}')
    print(f'Moving {file}')

print(f'Done processing {len(filesToMove)} files')

Windows Pro上使用Python 3.6.4進行測試。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM