通用桌面目录

Generalized Desktop directory

很简单,关于我的最后一个问题,我正在尝试对所有玩家的桌面或文件进行目录更改,就像 C:\Users\USERNAME\Desktop\Tester File 中那样,但我该如何做到这一点USERNAME 是此人计算机的用户名?我尝试使用 %USERNAME% 但我真的不知道该怎么做,它没有用,无论如何 % 给出了一条错误消息(我不记得该消息,我认为这是语法错误)

我也试过用~,但还是不行,不过可能是我经验不足吧

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

通过使用 user = getpass.getuser() 我能够做类似 'C:\Users' + user + '\Documents' 这样的事情,它让这一切变得用户友好!谢谢!

你试过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