Seite 1 von 1

Den Desktop Pfad rausbekommen (windows)

Verfasst: Freitag 26. Mai 2006, 10:13
von Roman
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

Verfasst: Freitag 26. Mai 2006, 10:21
von Martin89
Ich weis nicht ob das funktioniert:

Code: Alles auswählen

import user
print user.home
Martin

Verfasst: Freitag 26. Mai 2006, 10:23
von murph
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.

Re: Den Desktop Pfad rausbekommen (windows)

Verfasst: Freitag 26. Mai 2006, 10:23
von gerold
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
:-)

Verfasst: Freitag 26. Mai 2006, 10:35
von murph
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")

Re: Den Desktop Pfad rausbekommen (windows)

Verfasst: Freitag 26. Mai 2006, 10:43
von gerold
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
:-)

Verfasst: Freitag 26. Mai 2006, 20:28
von Roman
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

Verfasst: Sonntag 28. Mai 2006, 09:09
von Roman
So, ich habe Murphs Lösung jetzt ausprobiert und sie funktioniert bestens :D
Danke noch mal,
Roman

Verfasst: Sonntag 28. Mai 2006, 11:47
von murph
wenn du freundlich bist, nennst du das dann "Desktop", dann ist das auch unter Linux einsetzbar. Mit Mac habe ich keine Erfahrung...

Verfasst: Montag 29. Mai 2006, 06:58
von Roman
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)

Verfasst: Montag 29. Mai 2006, 08:45
von mitsuhiko
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

Verfasst: Montag 29. Mai 2006, 23:21
von Roman
Ah, jetzt verstehe ich...
Jap, werde ich wohl so machen :D

Danke,
Roman