2016-08-02 10 views
-1

pythonスクリプトでは、カスタムモジュールの属性をfrom custom_settings import *でインポートすることで、デフォルトの割り当て(たとえば、path = "local/path/")を上書き(再定義)する必要があります。私は、カスタムモジュールによって変更されているものを出力したいと思います。スターでインポートされたモジュールから属性を取得する

custom_settingsからは、その属性はdir()で取得できます。 ", ".join((a for a in dir() if not a.startswith("__")))。 インポートされたモジュールの属性が既存の名前空間にバインドされている場合、これはインポートスクリプトからどのように行うことができますか?

+0

親愛なるdownvoter? – handle

答えて

0

これはneatest解決策ではないかもしれないが、それは痛いほど冗長なようだが、あなたは単に、常に可能性:問題と思われるもの、

from custom_settings import * 
import custom_settings 
overridden = ", ".join(a for a in dir(custom_settings) if not a.startswith("__")) 
+0

ありがとうございますが、既存の名前空間の属性を上書きしないため、これは機能しません。私。 'custom_settings.path'を作成しますが、' path'は作成しません。 – handle

+0

@handle Right。あなたは*両方を行うことができます –

+0

ああ。今私は冗長になる。 – handle

関連する問題