Pfad und Dateiname aus filedialog

Fragen zu Tkinter.
Antworten
Py-Prog
User
Beiträge: 673
Registriert: Dienstag 16. Februar 2010, 17:52
Wohnort: G:\ermany

Ich brauche einen Pfad zu einer Datei, diese soll dann bearbeitet und (normalerweiße) wieder im selben verzeichnis gespeichert werden, unter einem anderen dateinamen. Deshalb brauche ich den Dateinamen und den Pfad. Gibts da schon was 'fertiges'? Ich hät da schon nen lösungs ansatz aber ich glaub das ist nicht sehr geschickt.

(Ich hoffe ich hab mich genau ausgedückt.)
Technik ist: wenn alles funktioniert und keiner weiß warum.
Wer Rechtschreibfehler findet darf sie behalten.
Xynon1
User
Beiträge: 1267
Registriert: Mittwoch 15. September 2010, 14:22

Relativ simple, das selbe gibt es auch noch mal fürs öffnen.

Code: Alles auswählen

import tkFileDialog

def save():
    types = [("textfiles","*.txt"),("xmlfiles","*.xml")]    
    filename = tkFileDialog.asksaveasfilename(filetypes=types)    
    with open(filename, "w") as handle:
        handle.write("data")

if __name__ == "__main__":
    save()
Traue keinem Computer, den du nicht aus dem Fenster werfen kannst.
Xynon auf GitHub
Py-Prog
User
Beiträge: 673
Registriert: Dienstag 16. Februar 2010, 17:52
Wohnort: G:\ermany

OK ich hatte mich nicht genau ausgedückt. :( :( :(

ich will den pfad ohne den dateinamen, den brauch ich extra.
Und nicht unterwelchem format öffne/speichere ich dateinen.

soetwa:
der Pfad: C:\\Dokumente und Einstellungen\\Py-Prog\\Desktop\\Datei.txt
daraus soll dann das werden:
C:\\Dokumente und Einstellungen\\Py-Prog\\Desktop\\
und: Datei.txt
Technik ist: wenn alles funktioniert und keiner weiß warum.
Wer Rechtschreibfehler findet darf sie behalten.
Xynon1
User
Beiträge: 1267
Registriert: Mittwoch 15. September 2010, 14:22

Ich wollte dir damit lediglich den hinweis auf tkFileDialog geben, für dein Problem musst du halt einen ordner statt einer Datei öffnen, also die Methode: ".askdirectory()" satt ".asksaveasfilename(...)" und so bekommst du einen Ordner.

Und wenn du den pfad bereits hast, kannst du auch "os.path.dirname" nutzen, um deine genannte umwandlung hinzubekommen, ich dachte nur dir geht es um eine Tkinter spezifische Lösung.
Traue keinem Computer, den du nicht aus dem Fenster werfen kannst.
Xynon auf GitHub
Py-Prog
User
Beiträge: 673
Registriert: Dienstag 16. Februar 2010, 17:52
Wohnort: G:\ermany

Ja, es geht, DANKE.
Technik ist: wenn alles funktioniert und keiner weiß warum.
Wer Rechtschreibfehler findet darf sie behalten.
Py-Prog
User
Beiträge: 673
Registriert: Dienstag 16. Februar 2010, 17:52
Wohnort: G:\ermany

Deinen ersten Vorschlag kann ich jetzt brauchen wenn ich aus den bearbeiteten dateien wieder die ursprüngliche datei haben will. :wink:
Technik ist: wenn alles funktioniert und keiner weiß warum.
Wer Rechtschreibfehler findet darf sie behalten.
Antworten