colab 炼丹,自动删除文件,自动清除回收站

直接贴到colab中可用

先加载硬盘,my_drive 是为了操作回收站

#@title 加载Google云端硬盘
#@markdown 登两次
from pydrive.auth import GoogleAuth
from pydrive.drive import GoogleDrive
from google.colab import auth,drive
from oauth2client.client import GoogleCredentials
auth.authenticate_user()
gauth = GoogleAuth()
gauth.credentials = GoogleCredentials.get_application_default()
my_drive = GoogleDrive(gauth)
drive.mount('/content/drive')

定时删除文件,同时清空掉colab回收站,预留空间,防硬盘暴掉

#@title 定时删除文件
import time
import os 
from threading import Timer

# 要监控的目录
path = "/content/drive/XXXXX/XXX" #@param {type:"string"}
# 刚超2G时开始删除
max_size = 2 * 1024 * 1024 * 1024

def delete_old_files():
    total_size = 0
    files = []
    for filename in os.listdir(path):
        file = os.path.join(path, filename)
        files.append(file)
        total_size += os.path.getsize(file)

    if total_size > max_size:
        # 获取最早的文件
        oldest_file = min(files, key=os.path.getctime)  
        
        # 删除文件
        os.remove(oldest_file)
        print(f"Deleted {oldest_file} to reduce storage usage.")
        delete_old_files()#循环查

def my_delete():
    delete_old_files()
    time.sleep(5) 
    for a_file in my_drive.ListFile({'q': "trashed = true"}).GetList():
      # print the name of the file being deleted.
      print(a_file['title'],"删除")
      # delete the file permanently.
      a_file.Delete()
    Timer(5*60, my_delete).start()  # 每五分钟运行一次代码

my_delete()

 

参考

CPython: How to remove the file from trash in drive in colab

Slack Claude

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值