簡體   English   中英

將工作目錄更改為最近生成的目錄

[英]Change working directory to most recently generated directory

有沒有辦法將您的目錄更改為最近生成的目錄? 我每 12 小時創建一個新目錄,並希望迭代循環最近的 x 個目錄。

與此類似的東西,但用於目錄。

如何使用python獲取文件夾中的最新文件

以下應該基本上工作。

import os

parent_dir = "."  # or whatever

paths = [os.path.join(parent_dir, name) for name in os.listdir(parent_dir)]
dirs = [path for path in paths if os.path.isdir(path)]
dirs.sort(key=lambda d: os.stat(d).st_mtime)
os.chdir(dirs[-1])

請注意,這將更改為具有最近修改時間的目錄。 如果已經修改了預先存在的目錄(通過在其中創建或刪除某些內容),則這可能不是最近創建的目錄; 關於目錄何時創建的信息不是存儲在任何地方的信息——當然,除非您使用反映創建時間的目錄命名,在這種情況下,您可以根據名稱而不是修改時間進行排序。

我沒有在這里打擾以在運行所需的短時間內創建/刪除目錄來防止競爭條件(這可能會導致它引發異常)。 老實說,這不太可能,如果你想處理這種可能性,這樣做就足夠了:

while True:
    try:
        #all the above commands
        break
    except OSError:
        pass

暫無
暫無

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

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