バージョン 2.6 で撤廃: user モジュールはPython 3.0では削除されます。
ポリシーとして、Pythonは起動時にユーザー毎の設定を行うコードを実行することは しません(ただし対話型セッションで環境変数 PYTHONSTARTUP が設定されていた場合にはそのスクリプトを実行します。)。
しかしながら、プログラムやサイトによっては、プログラムが要求した時にユーザーごとの設定ファイルを実行できると便利なこともあります。このモジュー ルはそのような機構を実装しています。この機構を利用したいプログラムでは、以下の文を実行してください。
import user
user モジュールはユーザーのホームディレクトリの .pythonrc.py ファイルを探し、オープンできるならグローバル名前空間 で実行します(execfile() を利用します)。この段階で発生したエラーはcatchされません。 user モジュー ルをimportしたプログラムに影響します。ホームディレクトリは環境変数 HOME が仮定されていますが、もし設定されていなければカレントディ レクトリが使われます。
ユーザーの .pythonrc.py ではPythonのバージョンに従って異なる動作を行うために sys.version のテストを行うことが 考えられます。
ユーザーへの警告: .pythonrc.py ファイルに書く内容には慎重になって ください。どのプログラムが利用しているかわからない状況で、標準のモジュールや関数のふるまいを替えることはおすすめできません。
この機構を使おうとするプログラマへの提案: あなたのパッケージ向けのオプションをユーザーが設定できるようにするシンプ ルな方法は、 .pythonrc.py ファイルで変数を定義して、あなたのプログ ラムでテストする方法です。たとえば、 spam モジュールでメッセージ出力のレベルを替える user.spam_verbose 変数を参照するには以下のようにします:
import user
verbose = bool(getattr(user, "spam_verbose", 0))
(ユーザが spam_verbose をファイル .pythonrc.py 内で定義していない時に getattr() の3引数形式は使われます。)
大規模な設定の必要があるプログラムではプログラムごとの設定ファイルを作るといいです。
セキュリティやプライバシーに配慮するプログラムではこのモジュールをimport し ない でください。このモジュールを使うと、ユーザーは .pythonrc.py に任意のコードを書くことで簡単に侵入することができてしまいます。
汎用のモジュールではこのモジュールをimportし ない でください。 importしたプログラムの動作にも影響してしまいます。
参考