檔案和目錄數量波動

檔案和目錄數量波動

情況:我有一個Python腳本,它將遞歸地、單獨地計算檔案和目錄的總數。下面是程式碼:

def traverse(top):
    filecount = 0
    dircount = 0
    for root, dirs, files in os.walk(top):
        for f in files:
            if dirs: dircount += 1
            elif files: filecount += 1
            else:
                print("Error")
                break
    print("Num of dir: " + dircount)
    print("Num of files: " + filecount)

問題:幾乎每次執行程式碼時,我都會得到不同數量的目錄和檔案。

問題:介意提出文件和目錄數量波動的原因嗎?也許這就是 Linux 的運作方式?

附加資訊:只是想確保我的腳本的這一部分對整個程式非常重要

答案1

正在運行的 Unix 系統在正常操作期間每隔一段時間就會建立暫存檔案和目錄。

僅在編輯器中開啟文件或發送電子郵件可能會建立一兩個臨時文件,而瀏覽網頁可能會在短時間內建立和刪除數百個文件。此外,圖形桌面環境可能會執行快取和其他您通常不會注意到的操作,這些操作會建立和刪除臨時檔案。

根據您的頂級目錄是什麼,您很可能會覆蓋經常變化的目錄,例如/tmp和 下的所有目錄/var以及您的主目錄。

答案2

dirs 是目前(根)目錄中的目錄名列表,files 是目前目錄中的檔案名稱列表。

我想你想要更多這樣的東西:

def traverse(top):
    filecount = 0
    dircount = 0
    for root, dirs, files in os.walk(top):
        dircount += len(dirs)
        filecount += len(files)
    print("Num of dir: " + dircount)
    print("Num of files: " + filecount)

相關內容