1
質問があります。ルートとサブパスの両方からクラスをロードできるようにしたい
私のPythonのプロジェクトのパスは以下の通りです:b.py.からcode_subの
code_root | - code_sub | |- b.py | -- c.py - a.py
輸入c.py
私はcode_rootとcode_subパスの両方からb.pyをロードできるようにしたい。例えば
:
code_root>$ python nlp.py
または
code_root/code_sub>$ python b.py
ここでの問題はc.py.を呼び出すことです
b.pyは次のようにc.pyインポートしないでください。
# b.py
import c
は、だから、私は解決策を見つけました。以下のような
:
from os.path import dirname
curpath = dirname(__file__)
if len(curpath) == 0:
curpath = '.'
c = imp.load_source('c', curpath+'/c.py')
これは動作しますが、それが最善の解決策のように見えるしていません。同じことを達成するために使用できる標準的なPythonアプローチがありますか?