2016-10-29 3 views
0

私は別のPythonスクリプトのクラスを呼び出しているPythonスクリプトを持っています。次のように これら2つのスクリプトの構造は、次のように別の場所にある別のPythonスクリプトからPythonスクリプトを呼び出します。

c:\testing\sample.py 
c:\testing\example\demo\projects\module.py 

は今sample.pyの内側に、私はmodule.pyを呼び出しています:

from "c:/testing/example/demo/projects/module.py" import module_C 

私はsample.pyのこの部分を実行すると、私はエラーThere is an error in programと、このエラーを取得します最初の行でのみ発生します。

sample.pyの内部でmodule_Cとはどのように呼びますか?

答えて

0

from/import構文はファイルでは機能しません。モジュールでのみ機能します。あなたが望むものを達成するために

、2つの可能性

は、最初のものがあります:モジュールにディレクトリを横断回す:

  • は、空__init__.pyc:/testing/example/demo内のファイル、およびc:/testing/example/demo/projects
  • を作成from demo.projects.module import module_C

秒1:動的にパスを追加します。

import sys,os 
sys.path.add(os.path.join(os.path.dirname(__file__),"demo/projects")) 
from module import module_C 

を実行している場所を知って、現在のモジュールディレクトリを使用してdemo/projects絶対パスを追加します。パスは共通のプレフィックスを持っているので、それが動作します)

関連する問題