0

現在、構成オプション (定数/変数) は少し断片化されています。ほとんどは config.py にありますが、一部は上部の myfile.py にあります。

/utilities/myfile.py
/config.py

myfile.py で見つかる可能性のある例は次のとおりです。

TEMP_DIR = '/tmp'

この定義を myfile.py から config.py に移動したいが、まだ myfile.py で使用したい場合、どうすればよいですか?

私はpythonが初めてですが、myfile.pyの上部にあるこの行に沿ったものだと思います

from config
4

3 に答える 3

0

あなたmyfile.pyが置くことができます

import config

TEMP_DIRとアクセス

config.TEMP_DIR

含むディレクトリがconfig.pyPYTHONPATH にある場合。

于 2012-11-20T13:05:16.630 に答える
0

バリアント 1

from config import *

これにより、 myfile.py の名前空間全体が汚染されます

バリアント 2

from config import foo, bar, baz

myfile.py で使用されるすべての値について言及する必要があります。

バリアント 3

import config
...
x = config.foo

すべての値は構成を参照する必要があります。

あなたの選択ですが、私はバリアント 3 を好みます。myfile.py で config.py を表示するには、PYTHONPATH編集するか、相対インポートを使用する必要があります。

from ... import config
于 2012-11-20T13:06:42.150 に答える
0

これを行う別の方法は、 を使用することexecfileです。これにより、さまざまな構成ファイルを簡単に使用できるようになります (たとえば、コマンド ラインで使用する構成ファイルを指定するなど)。

例:

# myconfig.py
TEMP_DIR = "/tmp/"

# myotherconfig.py
TEMP_DIR = "/tmp/foo"

# program.py (the main program)
import sys
config = {}
execfile(sys.argv[1], config)
print config["TEMP_DIR"]

プログラムの呼び出し:

$ python program.py myconfig.py
/tmp/
$ python program.py myotherconfig.py
/tmp/foo

関連: Python 構成ファイル: ファイル形式の推奨事項はありますか? INI 形式はまだ適切ですか? かなり古い学校のようです

于 2012-11-20T13:22:58.537 に答える