2017-04-02 39 views
0

足够简单,关于我的最后一个问题,我试图做一个目录更改为播放器桌面或类似的所有文件,如在C:\\Users\\USERNAME\\Desktop\\Tester File,但我将如何使其USERNAME是个人计算机的用户名?我尝试使用%USERNAME%,但我真的不知道该怎么做,但它不起作用,无论如何,%给出了错误消息(我不记得该消息,我认为它是语法错误)广义桌面目录

我也尝试过使用〜,但它被证明是无效的,但可能是由于我缺乏经验。

编辑 我解决了这个问题,感谢@ pstatix的一些非常大的帮助,所以谢谢。

通过使用user = getpass.getuser()我能够做'C:\ Users'+ user +'\ Documents'之类的东西,它使得这一切都对用户友好!谢谢!

+1

〜实际上并不是目录的名称;它由shell完成。如果你想使用它,你需要告诉Python为你完成它。你可以用'os.path.expanduser()'来做到这一点。 – zondo

回答

2

您是否试过getpass模块? getpass documentation here

import getpass 
usr = getpass.getuser() 
print usr 

编辑:对于用户指定例如

您可能也有兴趣使用os模块? os documentation here

import os 
usr = os.getlogin() 
path = os.path.join('..', 'Users', usr, 'Desktop', 'Tester File') 
os.chdir(path) 

对环境变量使用os.environ也可能证明有用。 os.environ documentation here例如:

import os 

def getUserName(): 
    # set possible environment variables 
    for name in ('LOGNAME', 'USER', 'LNAME', 'USERNAME'): 
     usr = os.environ.get(name) 
     if user: 
      return usr #return the variable 

if __name__ == '__main__': 
    usr = getUserName() 
    # do remainder below 
+0

这确实奏效,谢谢! –

+0

@RobM你介意指定我给了哪个例子工作?你甚至可以编辑自己的帖子来指定,以便将来的用户记录下来。祝你好运! – pstatix