suchen

Heim  >  Fragen und Antworten  >  Hauptteil

python - Wie lösche ich Dateien „langsam“?

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?

阿神阿神2749 Tage vor612

Antworte allen(1)Ich werde antworten

  • 给我你的怀抱

    给我你的怀抱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()

    Antwort
    0
  • StornierenAntwort