搜尋

首頁  >  問答  >  主體

python - 如何"慢"速刪除檔案?

現在有一個需求,需要後台刪除慢速快取文件, 快取文件很大。有時候單一檔案就幾百G,刪除時需要硬碟使用率不超過5%~10%. 有什麼辦法嗎?

win7 NTFS分割區

其實也可以問,如何刪除檔案的一部分內容,而不是整個檔案? 似乎逃脫不了讀取的IO? 能否直接抹掉一個檔案的內容呢?

阿神阿神2777 天前635

全部回覆(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
  • 取消回覆