2017-04-02 12 views
0

私の最後の質問から、十分に簡単に、私はC:\\Users\\USERNAME\\Desktop\\Tester Fileのようにすべてのプレーヤーのデスクトップまたはファイルにディレクトリを変更しようとしていますが、どうすればUSERNAMEが人のコンピュータのユーザー名ですか?私は%USERNAME%を使ってみましたが、どうしたらよいか分かりませんでしたし、うまくいかなかったのでエラーメッセージが出ました。(メッセージが覚えられないので構文エラーだと思います)一般化されたデスクトップディレクトリ

私も〜を使ってみましたが、効果がないことが判明しましたが、経験が不足している可能性があります。

EDIT 私は、この問題を解決し@pstatixからいくつかの非常に大きな助けのおかげでとてもありがとうございました。

user = getpass.getuser()を使用すると、私は 'C:\ Users' + user + '\ Documents'のように何かできました。ありがとう!

+1

〜実際にはディレクトリの名前ではありません。それはシェルによって完成される。それを使いたいなら、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

関連する問題