清空 google drive 垃圾桶的內容

在 colab 上訓練模型, 如果沒有定時把結果存回 google drive, 那運算時間結束時, 資料也都會消失, 大約每 10分鐘左右, 會把資料存回來一次.

由於 google 容量又很小, checkpoint 存太多把 google drive 裝滿, 運算結果存不進去, 資料也都會消失, 中間運算結果不介意可以刪除, 只想保留最後的幾筆.

透過 shell command 或 python script 刪除 google drive 上的檔案, 固定都會被移動到 trash 目錄, 所以定期要清除 trash folder, 解法:

from googleapiclient.discovery import build
from google.colab import auth

# 1. 身份驗證
auth.authenticate_user()

# 2. 建立 Google Drive API 服務
drive_service = build('drive', 'v3')

try:
    # 清空 google drive垃圾桶
    response = drive_service.files().emptyTrash().execute()
    #print("google drive垃圾桶已清空。")
except Exception as e:
  print(f"發生錯誤:{e}")

上面程式如果是寫進 .py 的檔案, 測試不會彈出授權視窗, 在沒有授權成功的情況下, 無法清除trash can,

所以 step 1 & step 2 要放在 colab 的 notebook 下執行, 如下圖所示:

在有授權的情況下, 之後的 !python 執行 python script 的檔案, 就可以正確地清除 trash can.

About the author

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *