搜索

首页  >  问答  >  正文

python - 如何"慢"速删除文件?

现在有一个需求,需要后台删除慢速缓存文件, 缓存文件很大。有时候单个文件就几百G,删除时需要硬盘使用率不超过5%~10%. 有什么办法吗?

win7 NTFS分区

其实也可以问,如何删除文件的一部分内容,而不是整个文件? 貌似逃脱不了读取的IO? 能否直接抹掉一个文件的内容呢?

阿神阿神2839 天前684

全部回复(1)我来回复

  • 给我你的怀抱

    给我你的怀抱2017-05-16 13:33:15

    写了个github 欢迎帮忙测试: github链接

    尝试用了下truncate, 是可以控制删除速度和内容,但是没有弄个详细测试,只看了win的性能管理器。没有看到满载。

    
    # frw = open(filename, "wb")
    # for a in xrange(10):
    #     frw.write('rrreee'*1024*1024*1024)
    # frw.close()
    #
    # assert  1== 2
    
    import os
    import time
    
    while True:
    
        time.sleep(0.01)
    
        SIZE = os.path.getsize(filename)
    
        print SIZE
    
        frw = open(filename, "r+b")
        frw.seek(SIZE-1024*1024, 0)
    
        frw.truncate()
        frw.close()

    回复
    0
  • 取消回复