8

他のモジュールがインポートされている親モジュールの名前にアクセスできるかどうか興味があります。

たとえば、モジュール ( moduleA) があり、親がモジュールでfoo.pyある場合、それがインポートされるモジュールは、moduleAがどこにあるかを知ることができfooますか?

モジュールA

def print_parent_module(): 
    os.path.asbpath(#somehow access filename of parent module) 

foo.py

import moduleA 

print moduleA.print_parent_module()
>>> "foo.py"
4

4 に答える 4

-2

理解した!

関数内の小さな import ステートメントで、モジュール名にアクセスできます。

モジュールA

def print_module_name():
    import sys
    return sys.argv[0]

次に、「親」モジュール内

# foo.py
import os 
import moduleA

if __name__ == '__main__':
    print os.path.split(moduleA.print_module_name())[-1]

与えます:

>>> 'foo.py'
于 2013-09-22T20:26:43.663 に答える