単純なPython(2.7.3)スクリプトで作業していますが、ユーザーのホームフォルダーを取得する必要があります。私は試した:
import os
home_folder = os.environ["HOME"]
また、このコードをIDLEで実行している場合は正常に機能しますが、cmdから起動すると、次のようになります。«KeyError: 'HOME'»
誰かが理由を教えてもらえますか?どうすればこの問題を解決できますか?
単純なPython(2.7.3)スクリプトで作業していますが、ユーザーのホームフォルダーを取得する必要があります。私は試した:
import os
home_folder = os.environ["HOME"]
また、このコードをIDLEで実行している場合は正常に機能しますが、cmdから起動すると、次のようになります。«KeyError: 'HOME'»
誰かが理由を教えてもらえますか?どうすればこの問題を解決できますか?
WindowsはUSERPROFILE
、の代わりにを使用しHOME
ます。WindowsにはありませんしHOME
、他のOSにもありませんUSERPROFILE
。したがって、これらのいずれかを使用すると、プラットフォームに依存しなくなります。
プラットフォームの独立性を維持するために、次のようにexpanduser
からを使用できます。os.path
import os.path
home_folder = os.path.expanduser('~')
ちなみに、これを使用print(os.environ)
して、アクセスできるすべての環境変数を確認できます。これは、追加機能があることを示していますIDLE
。
WindowsにはHOME環境変数がありません。代わりにUSERPROFILEを使用します。この問題を解決するために、コンソールで入力する新しい変数「HOME」を定義できます。
set HOME=%USERPROFILE%
USERPROFILE変数のコピーとして。
それらが同一のタイピングであることを確認できます。
echo %USERPROFILE%
echo %HOME%
現在のセッションで機能します。
「cmdからの起動」に完全に基づいてWindowsでこれを実行しようとしているようです。IDLEはそれを便利なものとして提供しています。WindowsUSERPROFILE
ではの代わりに使用しますHOME
。envar%USERPROFILE%
はWin32$HOME
です。