Heim > Fragen und Antworten > Hauptteil
Jetzt besteht die Anforderung, langsame Cache-Dateien im Hintergrund zu löschen. Die Cache-Dateien sind sehr groß. Manchmal ist eine einzelne Datei Hunderte von Gigabyte groß. Beim Löschen darf die Festplattennutzung 5 % bis 10 % nicht überschreiten.
win7 NTFS-Partition
Tatsächlich können Sie sich auch fragen, wie man einen Teil der Datei statt der gesamten Datei löscht? Es scheint, dass ich dem IO des Lesens nicht entkommen kann. Kann ich den Inhalt einer Datei direkt löschen?
给我你的怀抱2017-05-16 13:33:15
写了个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()