如何"慢"速删除文件?

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

win7 NTFS分区

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

阅读 2.4k
1 个回答

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

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


# frw = open(filename, "wb")
# for a in xrange(10):
#     frw.write('\0'*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()
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题