python - Wie lösche ich Dateien „langsam'?
阿神
阿神 2017-05-16 13:31:15
0
1
629

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?

阿神
阿神

闭关修行中......

Antworte allen(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()
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage