7zip öffnen mit der entsprechenden Tar-file

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
bluelagoon
User
Beiträge: 216
Registriert: Mittwoch 25. August 2010, 12:26

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? =/
CM
User
Beiträge: 2464
Registriert: Sonntag 29. August 2004, 19:47
Kontaktdaten:

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 ;-)
bluelagoon
User
Beiträge: 216
Registriert: Mittwoch 25. August 2010, 12:26

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 :/
Zuletzt geändert von Anonymous am Freitag 1. Juli 2011, 09:45, insgesamt 1-mal geändert.
Grund: Quelltext in Python-Code-Tags gesetzt.
CM
User
Beiträge: 2464
Registriert: Sonntag 29. August 2004, 19:47
Kontaktdaten:

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 ;-).
bluelagoon
User
Beiträge: 216
Registriert: Mittwoch 25. August 2010, 12:26

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
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

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.
Antworten