からインポートクラス変数Iは、別のモジュールからクラスの内部だけで変数をインポートしようとしている:私は次の操作を行うことができます別のモジュール
import module.class.variable
# ImportError: No module named class.variable
from module.class import variable
# ImportError: No module named class
from module import class.variable
# SyntaxError: invalid syntax (the . is highlighted)
が、私はただ一つの変数をインポートすることを好むだろう私は欲しい。
from module import class as tmp
new_variable_name = tmp.variable
del tmp
これは可能ですか?
これはモジュール全体をインポートするのは正しいですか? 'import module'、' variable = module.class.variable'と同じですか? –
インポートしたモジュールに名前をバインドしない点を除きます。 'module import clazz'から'モジュール全体をインポートする 'もまったく同じ方法で*これを回避する方法はありません;クラス定義はモジュールの残りの部分がなくても意味をなさない文脈、クラスの属性についても同様である。 –
@Alexこれは常に* whole *モジュールをインポートします(ただし、スクリプトのスコープでは*あなたのステートメント*によって決まります)。 'from x1 import x2'は' x1'を読み込み、 'x2'のスコープ内で、またはサブパッケージとして' x2'をどこから探すかを探します。 –