rmtar

Code-Stücke können hier veröffentlicht werden.
caba
User
Beiträge: 5
Registriert: Freitag 27. Juli 2007, 14:14
Wohnort: Bühl
Kontaktdaten:

rmtar

Beitragvon caba » Donnerstag 23. August 2007, 13:12

Mann kennt ja das problem dass man eventuell ein tar-archive entpackt und plötzlich Hunderte Dateien im $home rumliegen.
Diese dann alle einzeln zu löschen kann je nach grösse etwas lang dauern.
Deswege dieses Script das einfach das archiv nochmal aussliesst und die Dateien entfernt.

Code: Alles auswählen

#!/usr/bin/env python

import tarfile,sys,os

def repacke(archiv):
   
   tar=tarfile.open(archiv)
   files = tar.getnames()
   
   for f in files:
      os.remove(f)
      print "Loesche: %s" % f

if len(sys.argv) < 2:
   sys.exit(2)
else:
    repacke(sys.argv[1])


MFG Manuel

P.S.: Das war damals mein erstes Python-Script das ich gemacht habe. So bin ich zu Python gekommen :D
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Beitragvon Leonidas » Donnerstag 23. August 2007, 15:28

Ist es nicht einfacher, ein Untar-Skript zu schreiben, dass wenn in dem Tarball nicht ein Ordner sondern mehrere einzelne Dateien sind, automatisch einen Ordner erstellt und dorthin entpackt?
My god, it's full of CARs! | Leonidasvoice vs Modvoice
BlackJack

Beitragvon BlackJack » Donnerstag 23. August 2007, 18:42

Frag mich mal nicht wie's heisst, aber so ein Programm sollte es in einem gut sortierten Linux-Paketsystem geben. Das entpackt erst in ein Unterverzeichnis und wenn in dem Verzeichnis danach nur ein Verzeichnis liegt, dann wird dieses eins nach oben verschoben und das jetzt leere temporäre Verzeichnis gelöscht.

Der Unix-"Normalfall" wird also ganz gewöhnlich entpackt und nur bei Archiven die auf "oberster Ebene" mehr Dateien liegen haben wird man vor dem "zumüllen" geschützt.
caba
User
Beiträge: 5
Registriert: Freitag 27. Juli 2007, 14:14
Wohnort: Bühl
Kontaktdaten:

Beitragvon caba » Freitag 24. August 2007, 12:39

Ja dass gibt es.

Aber es ging ja darum mal was selber zu Programmieren. War dass halt damals das erste auf was ich gekommen bin :D

Vll kann ja trotzdem jemand was damit angangen :)

MFG manuel

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder