Seite 1 von 1
7zip öffnen mit der entsprechenden Tar-file
Verfasst: Freitag 1. Juli 2011, 07:24
von bluelagoon
Hallo,
ich hab ne Frage und zwar wie geb ich 7zip beim öffnen mit das das Archiv sofort angezeigt wird?
mein Code bisher
Code: Alles auswählen
import os
os.system('C:\\Programme\\7-Zip\\7zFM.exe SicherungDiff-04-03-2011.tar.gz')
7 zip öffnet sich auch nur das SicherungDiff...tar nicht
könnte mir da jemand helfen?
danke
Neuer Stand bin weiter gekommen mit dem Modul subprocess
Code: Alles auswählen
previewfile = subprocess.Popen("C:\\Programme\\7-Zip\\7zFM.exe C:\\Windows")
so wie sag ich ihm jetz das C\\Windows ne Variable is? =/
Re: 7zip öffnen mit der entsprechenden Tar-file
Verfasst: Freitag 1. Juli 2011, 08:34
von CM
Code: Alles auswählen
subprocess.Popen(["C:\\Programme\\7-Zip\\7zFM.exe", "C:\\Windows"])
Falls das nicht weiterhilft, hilft bestimmt ein Blick in die
Doku 
Re: 7zip öffnen mit der entsprechenden Tar-file
Verfasst: Freitag 1. Juli 2011, 08:40
von bluelagoon
der Code an sich funktioniert ja
aber der Pfad wo die Datei liegt die geöffnet wird ändert sich ständig und steht deshalb in einer Textdatei
sprich statt C:\\Windows
müsste dort %s stehen.
Code: Alles auswählen
class sevenzip():
def __init__(self):
self.mac = None
file = None
if 'windows' in platform.system().lower():
for line in os.popen(r"C:\WINDOWS\system32\ipconfig.exe /all"):
match = re.search('((?:[0-9A-Fa-f]{2}-){5}[0-9A-Fa-f]{2})', line)
if match != None:
self.mac = match.group()
break
if self.mac == None:
print >> sys.stderr, '''ERROR: Coulnd't retrieve MAC-address!'''
exit(1)
if os.path.isabs(config_file):
self.config_file = config_file
else:
self.config_file = os.path.join(os.path.dirname(os.path.abspath(__file__)), config_file)
def read_config(self):
try:
file = open(self.config_file)
for line in file.readlines():
if line.lower().strip().startswith("boottime"):
choice = re.split('^boottime\s*=\s*([0-9]+)', line.lower().strip())[1]
elif line.lower().strip().startswith("destination="):
dest = re.split('^[dD][eE][sS][tT][iI][nN][aA][tT][iI][oO][nN]\s*=\s*(.+)\s*$', line.lower().strip())[1]
file.close()
except Exception, e:
print >> sys.stderr, '''Error: File "%s" (configuration file) couldn't be read!\nQuitting.''' % self.config_file
def sevenfile(self):
previewfile = subprocess.Popen("C:\\Programme\\7-Zip\\7zFM.exe %s" % self.config_file)
nun kommt zwar kein Fehler mehr aber 7zip öffnet auch nicht :/
Re: 7zip öffnen mit der entsprechenden Tar-file
Verfasst: Freitag 1. Juli 2011, 10:04
von CM
1. Tipp: Schau' noch mal ganz genau hin - sind Dein und mein Popen-Statement syntaktisch gleichwertig?
2. Liest sich Dein Code etwas seltsam. Vielleicht wäre es eine gute Idee PEP8 und im Tutorial Exception Handling nochmal durchzulesen.
3. Ist 'file' build-in.
4. Kennt re einen Flag namens IGNORECASE
5. Gibt es sicher auch, aber ich höre mal hier auf.
HTH
Christian
PS Von 7zip habe ich keine Ahnung, ich weiß noch nicht einmal, ob es solche Argumente unterstützt

.
Re: 7zip öffnen mit der entsprechenden Tar-file
Verfasst: Freitag 1. Juli 2011, 10:09
von bluelagoon
naja mit dem Befehl subprocess poppen öffnet es sich unter der Batch kann man Parameter wie l, p, a, e angeben.
man kanns auch öffnen mit dem kompletten Pfad ich möchte nur den kompletten Pfad in ne Variable da sich der Pfad eben ständig ändern kann und ich so das ganze Script absuchen muss. Naja ich Google mal weiterhin danke
dein Code und meiner sind eig gleich. das heisst ich kanns auch ohne [ ] öffnenich würde nur statt dem kompletten pfad einfach nur %s self.pathfile eben anhängen
Re: 7zip öffnen mit der entsprechenden Tar-file
Verfasst: Freitag 1. Juli 2011, 11:13
von cofi
bluelagoon hat geschrieben:dein Code und meiner sind eig gleich. das heisst ich kanns auch ohne [ ] öffnenich würde nur statt dem kompletten pfad einfach nur %s self.pathfile eben anhängen
Du solltest du Doku wirklich mal lesen die CM verlinkt hat, um herauszufinden, was `subprocess.Popen' eigentlich erwartet. Tipp: Dein Code funktioniert -- wenn er denn 100%ig funktioniert -- nur zufaellig.