Code: Alles auswählen
>>> import subprocess
>>> user = subprocess.Popen(["echo", "$USER"], stdout=subprocess.PIPE)
>>> user = user.stdout.read()
>>> print user
$USER
Was mache ich falsch?
Code: Alles auswählen
>>> import subprocess
>>> user = subprocess.Popen(["echo", "$USER"], stdout=subprocess.PIPE)
>>> user = user.stdout.read()
>>> print user
$USER
Code: Alles auswählen
import os
os.environ["USER"]
Code: Alles auswählen
In [8]: import os
In [9]: print os.environ["USER"]
------> print(os.environ["USER"])
nelson
Macht auf jeden Fall unter Windows Sinn, da es "USER" dort nicht gibt, wenn man es nicht selbst anlegt.Leonidas hat geschrieben:Also für den Usernamen tät ich ja ``getpass.getuser()`` verwenden, das ist IMHO etwas sinnvoller als aus dem Enironment Sachen auszulesen.
Geht bei mir nichtHyperion hat geschrieben:Ich würds wohl so angehen:Code: Alles auswählen
In [8]: import os In [9]: print os.environ["USER"] ------> print(os.environ["USER"]) nelson
Code: Alles auswählen
>>> import os
>>> print os.environ["USER"]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Python26\lib\os.py", line 423, in __getitem__
return self.data[key.upper()]
KeyError: 'USER'
>>>
hendrikS hat geschrieben:Macht auf jeden Fall unter Windows Sinn, da es "USER" dort nicht gibt, wenn man es nicht selbst anlegt.Leonidas hat geschrieben:Also für den Usernamen tät ich ja ``getpass.getuser()`` verwenden, das ist IMHO etwas sinnvoller als aus dem Enironment Sachen auszulesen.
Edit: Na ja, es gibt "USERNAME" unter Windows.
Dann hab ich das wohl mal angelegt... bei mir ging das nämlich. Aber Leonidas Lösung ist sicherlich eleganter.hendrikS hat geschrieben: Macht auf jeden Fall unter Windows Sinn, da es "USER" dort nicht gibt, wenn man es nicht selbst anlegt.