この質問は、Python のグローバル スコープに関連しています。
以下の2つのファイルがあります。
fileA.py
import pprint
pprint.pprint(globals())
fileB.py
import fileA
def global_funcB():
return "global_funcB"
私が走るときpython fileB.py
。fileA.py の globals() には、fileA のコンテンツのみが含まれます。
global_funcB
fileA.py から fileB.pyのアドレスを取得することは可能ですか? これまでのところ、これは fileB.py からしか実行できません。
注:私の目的では、fileA.pyからfileBをインポートする方法はありません
[編集]
私の目的を明確に説明しましょう。
loader.py
class loader(object):
def __init__(self, module):
print(dir(module))
builder.py + クラス関数
import loader
class someobj(object):
def somefunc(self):
pass
loader.loader(someobj)
fileB からいくつかのモジュール/クラスを渡して fileA をビルドすると、fileB の関数を取得できます。
ただし、builder.py の関数がグローバルである場合。
builder.py + グローバル関数
import loader
def someglobalfunc(self):
pass
loader.loader(???)
globals() をモジュール/クラスとして別のファイルに渡す方法がわかりません。