exterens Prgramm wählen und Pfad dauerhaft speichern

Fragen zu Tkinter.
Antworten
Benutzeravatar
Ubuntuuser
User
Beiträge: 34
Registriert: Samstag 11. Februar 2006, 12:19
Wohnort: Augsburg

Hallo,

ich hab das Problem das ich nicht durchsteige wie ich den Pfad zu einem externen Prgramm das vorher gewählt wird über den Filedialog dauerhaft speichere. soll das über configparser gemacht werden?

Das Programm das ich erstellt hab soll Audacity mit Pfadangebe dauerhaft speichern zum späteren ausführen - sowas macht man bei Settings oder Einstellungen in einem Programm. Tja ich hätte es gerne für mehrer Plattformen Linux, Windows, Mac...deswegen die vorige Auswahl zu Audacity.

hier ein Code Schnippsel

Code: Alles auswählen

def GetAppPath():
   filename = askopenfilename(filetypes=mask_list) # show an "Open" dialog box and return the path to the selected file
   print(filename)



def fetch(entries):
   for entry in entries:
      field = entry[0]
      text  = entry[1].get()
      print('%s: "%s"' % (field, text)) 
   dir = 'Jams-offline'
   if os.path.exists(dir):
       shutil.rmtree(dir)
   os.makedirs(dir)
   id = (entry[1].get())
   load = ".mp3"
   mp3 = str(id)+(load)
   u= urllib.urlopen("http://www.jamexemple.com/down.php?dt=%s" % id)
   fd= open("jams/session%s" %mp3,"wb")
   fd.write(u.read())        
   u.close()
   fd.close()
   process_one = subprocess.Popen(['audacity','jams/session%s' %mp3])
   print "The URL is: ", u.geturl()
   print process_one.pid

also ich hab bereits mehrer Stunden gegoogelt nach einer Lösung und komme nicht weiter. Wenn audacity mit einem string ersetzt wird für den Pfad zu Audacity bei der Zeile 24 process_one = subprocess.Popen- wie kann ich das machen?

Wäre für einen Hinweiß sehr dankbar


Gruß
Benutzeravatar
Ubuntuuser
User
Beiträge: 34
Registriert: Samstag 11. Februar 2006, 12:19
Wohnort: Augsburg

GELÖST


bitte thread löschen



gruß
mutetella
User
Beiträge: 1695
Registriert: Donnerstag 5. März 2009, 17:10
Kontaktdaten:

@Ubuntuuser
Ein Forum wie dieses lebt nicht davon, dass Threads gelöscht werden, sondern gerade davon, dass Lösungen zu Problemen gezeigt und gegebenenfalls diskutiert werden.

mutetella
Entspanne dich und wisse, dass es Zeit für alles gibt. (YogiTea Teebeutel Weisheit ;-) )
Benutzeravatar
Ubuntuuser
User
Beiträge: 34
Registriert: Samstag 11. Februar 2006, 12:19
Wohnort: Augsburg

mutetella hat geschrieben:@Ubuntuuser
Ein Forum wie dieses lebt nicht davon, dass Threads gelöscht werden, sondern gerade davon, dass Lösungen zu Problemen gezeigt und gegebenenfalls diskutiert werden.

mutetella

Hast ja recht...

also zum Thema zurück.... hatte ja doch einige Schreibfehler vorher drin von zu schnellem tippen.

Die Ausgangsfrage war wie ich ein externes Programm aufrufen kann per Filedialog und den Pfad dauerhaft speichern kann, also einen string speichern kann von askopenfilename und den dann wieder nutzen kann.

Meine Lösung war StringVar() und dazu das ich set for askopenfilename nutzen muss wie hier beschrieben.
Ich hab das dann in in einer textdatei gespeichert....

Code: Alles auswählen

a.set(askopenfilename(filetypes=[("All Files", ".exe")]))

besten Gruß
Zuletzt geändert von Ubuntuuser am Donnerstag 24. April 2014, 23:43, insgesamt 1-mal geändert.
BlackJack

@Ubuntuuser: Und welches Problem löst `StringVar` dabei? Den Rückgabwert in einer Datei zu speichern geht ja auch ohne.
Benutzeravatar
Ubuntuuser
User
Beiträge: 34
Registriert: Samstag 11. Februar 2006, 12:19
Wohnort: Augsburg

BlackJack hat geschrieben:@Ubuntuuser: Und welches Problem löst `StringVar` dabei? Den Rückgabwert in einer Datei zu speichern geht ja auch ohne.


ok danke für den Hinweis - also ich habs so gelöst - wenn es ohne geht super - aber ich weiß nicht wie.. ich hab in einem Entry Feld halt die textvariable=a drin...dieses Entry Feld zeigt den Pfad dann zum Programm an.
Antworten