rmtar

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

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
Jabber: caba@develog.com
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

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 (former) Modvoice
BlackJack

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:

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
Jabber: caba@develog.com
Antworten