2016-07-15 4 views
2

私の作業フォルダが.で、私のサポートしているpythonファイルが./supporting_files/で、のファイルをa.pyのファイル./supporting_files/で呼びたいのですが、どうすればいいですか?私はfrom supporting_files.a import funcを呼び出してみましたが、それは動作しません。実際の作業ディレクトリを変更せずに、どうすればいいでしょうか?作業ディレクトリにないPythonファイルの関数を呼び出す方法は?

+0

あなたは '__init __持っています。supporting_files'ディレクトリ'でpy'?あなたのpythonバージョンは何ですか? – Kasramvd

+0

いいえ私は持っていません。それはpython 2.7 – xxx222

+0

私のために働く、再現することはできません。 edit:python3では動作しますが、2.7では動作しません – ritlew

答えて

1

__init__.pyディレクトリにファイル(空の場合があります)をsupporting_filesディレクトリに追加すると、pythonはそれをインポート用のパッケージとして扱います。詳細は、Python documentationを参照してください。

3

私が気づいていることは2通りあります。

間違った方法

import sys 
sys.path.append('./supporting_files')  
from a import func 
func() 

正しい方法

$ touch supporting_files/__init__.py 

その後

import supporting_files.a as a 

a.func() 
+0

これは間違った意味ですか? – xxx222

+1

私はそれが動作することを意味しますが、Rube Goldbergマシンが動作するのと同じように動作します。エンターテインメントや教育にはいいですが、あなたはそうした方法で宇宙プログラムを運転したくないでしょう。 –

+0

私はそれを得たと思う – xxx222

関連する問題