0

この質問は、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_funcBfileA.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() をモジュール/クラスとして別のファイルに渡す方法がわかりません。

4

1 に答える 1