Den Desktop Pfad rausbekommen (windows)

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
Roman
User
Beiträge: 65
Registriert: Dienstag 14. März 2006, 09:10
Wohnort: Berlin

Hallo,

Ich möchte unter Windows gerne eine Datei auf den Desktop schreiben.
Jetzt weiss ich aber nicht, wie dieser Pfad aussehen soll, da unter Windows der Pfad vom user abhängt.

Das heisst, man müsste irgendwie den momentanen User rausbekommen und dann den Pfad zusammenbasteln. Oder geht es noch besser?

Danke schon mal in Voraus,
Roman
Martin89
User
Beiträge: 22
Registriert: Freitag 12. Mai 2006, 21:03
Wohnort: /home/

Ich weis nicht ob das funktioniert:

Code: Alles auswählen

import user
print user.home
Martin
murph
User
Beiträge: 622
Registriert: Freitag 14. April 2006, 19:23
Kontaktdaten:

es gibt dafür ein modul, das schhimpft sich os.path.
wenn du nun

Code: Alles auswählen

ersterpfad = os.path.join("~","blabla")
tildeersetzer = os.path.expanduser (ersterpfad) 
eingibst, musst du mal kucken, wo du ankommst, weiß nicht, was unter windows als home-verzeichnis genommen wird.
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

Roman hat geschrieben:Ich möchte unter Windows gerne eine Datei auf den Desktop schreiben.
Hi Roman!

Mit
os.environ.get("USERPROFILE")
oder
os.environ.get("ALLUSERSPROFILE")
bekommst du den Pfad zum Profil-Ordner heraus.
Normalerweise befindet sich darunter der "Desktop"-Ordner.

Es gibt noch andere Möglichkeiten, aber die kann ich jetzt nicht raus suchen, da ich kein Windows gebootet habe.

mfg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
murph
User
Beiträge: 622
Registriert: Freitag 14. April 2006, 19:23
Kontaktdaten:

also bei meiner möglichkeit einfach nur anstelle von blabla "desktop" eingeben und danach die datei, die du erstellen willst

Code: Alles auswählen

ersterpfad = os.path.join("~","desktop", "deinezuerstellendedatei")
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

Hi!

So, ich habe das jetzt über eine Terminal-Sitzung geprüft.
Ergebnis:
Das was ich oben geschrieben habe stimmt nicht. Ich dachte zwar, dass der Desktop immer im Profil-Ordner ist, aber er ist immer im Home-Ordner. Somit ist die Lösung von "murph" nicht schlecht.

Falls du den Ordner doch über die Umgebungsvariablen raus finden möchtest, dann könnte das so funktionieren. (Das ist aber nur noch eine Zusatzinformation, da ich eher die Lösung von murph verwenden würde.)

Code: Alles auswählen

import os.path
os.path.expandvars("${HOMEDRIVE}${HOMEPATH}\\Desktop")
Welche Umgebungsvariablen es noch so gibt, findest du in der Dos-Konsole mit dem Befehl "set" raus.

mfg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Roman
User
Beiträge: 65
Registriert: Dienstag 14. März 2006, 09:10
Wohnort: Berlin

Hallo,
Danke erst mal für eure zahlreichen Tips! :D
Ich habe leider im Moment keine Zeit, diese auszuprobieren. Aber ich werde es wohl so schnell wie möglich machen und euch schreiben, ob es klappt.
MfG,
Roman
Roman
User
Beiträge: 65
Registriert: Dienstag 14. März 2006, 09:10
Wohnort: Berlin

So, ich habe Murphs Lösung jetzt ausprobiert und sie funktioniert bestens :D
Danke noch mal,
Roman
murph
User
Beiträge: 622
Registriert: Freitag 14. April 2006, 19:23
Kontaktdaten:

wenn du freundlich bist, nennst du das dann "Desktop", dann ist das auch unter Linux einsetzbar. Mit Mac habe ich keine Erfahrung...
Roman
User
Beiträge: 65
Registriert: Dienstag 14. März 2006, 09:10
Wohnort: Berlin

Hi Murph,
Was meinst du damit? Soll ich den Thread so nennen?
Funktioniert deine Lösung denn auch unter Linux? (Habe leider nur recht begrenzte Erfahrung mit Linux)
mitsuhiko
User
Beiträge: 1790
Registriert: Donnerstag 28. Oktober 2004, 16:33
Wohnort: Graz, Steiermark - Österreich
Kontaktdaten:

Roman hat geschrieben:Hi Murph,
Was meinst du damit? Soll ich den Thread so nennen?
Funktioniert deine Lösung denn auch unter Linux? (Habe leider nur recht begrenzte Erfahrung mit Linux)
Viele Linux Distributionen verwenden "~/Desktop" als Desktoppfad. Das meint er damit. Weil Linux hat Case Sensitive Pfade, ergo ist desktop != Desktop
TUFKAB – the user formerly known as blackbird
Roman
User
Beiträge: 65
Registriert: Dienstag 14. März 2006, 09:10
Wohnort: Berlin

Ah, jetzt verstehe ich...
Jap, werde ich wohl so machen :D

Danke,
Roman
Antworten