2017-07-14 2 views
0

私は、特定のフォルダに含まれるファイルをスクラップするスクリプトを作成しています。Pythonを使用してユーザーのWindowsデスクトップパスを検出する方法はありますか?

ユーザーの作業ディレクトリの静的パスを変更する必要性を排除するには、スクリプトがユーザーのオペレーティングシステムのバージョン(WindowsバージョンまたはLinux)とそれぞれのデスクトップファイルパスを検出する方法がありますか?

+0

でしょうか? –

+1

あなたの質問は十分詳細ではなく、あなたの側で多くの検索努力を示していません。ウェブのレビューを検討し、失敗したコードの試行をここに戻ってください。 – Fabien

+0

オペレーティングシステムを知りたい場合は、 'sys.platform'を使用してください。そしてあなたの質問は十分な詳細を提供しません。 – ksai

答えて

0

あなたは'HOMEPATH'環境変数を使用することができますので、全'Desktop'場所は、あなたが取得したいんパス

os.path.join(os.environ['HOMEPATH'], 'Desktop') 
+0

ありがとうCoryKramer!それはまさに私が求めていたものです。 – nuprap

+0

ユーザーまたは管理者は、「デスクトップ」フォルダを再配置できます。正しい実装では、Windows APIを使用して、場所(FOLDERID_Desktopまたは古いCSIDL_DESKTOP)を照会します。 – eryksun

+0

また、デフォルトのデスクトップの場所は 'USERPROFILE'の値が固定されているので'%USERPROFILE%\ Desktop'です。環境変数 'HOMEDRIVE'と' HOMEPATH'は、ユーザアカウントプロファイルで定義されている無関係のディレクトリを参照できます。そして、いくつかの状況(例えば、runas.exeまたはS4Uログオンで実行されるスケジュールされたタスク)では、その値が間違っている(例えば、%SystemRoot%\ System32を指している)か、または定義されていない。 – eryksun

関連する問題