2017-05-04 5 views
-1

私は、Windows 7 ProfessionalのでPython 2.7を使用していますから、関数を呼び出します。Pythonは別のファイル

I「は、このファイルの」コードで実行するために、別のファイルに保存された関数を呼び出すしようとしています。 dosomething呼ば

機能anotherfile.py`は、現在のコードと同じディレクトリにある」anotherfile.py

で発見されました。

私の呼び出しは簡単です:

import anotherfile 

print anotherfile.dosomething 

私はエラーを取得しています:No module named anotherfile

問題は、私はthis post

に見られるように、私は解決策を理解していないと同じです。

洞察?

ありがとうございます。

編集:他の質問/回答は、CLASSPATHのリセットとPYTHONPATHの設定について説明しています。私はこれを調べましたが、これをどうやって行うのか分かりませんでした。おそらく関連性がありますか?

+1

これは関数なので 'anotherfile.dosomething()'です – depperm

+0

これを実行すると、 'NameError:name 'anotherfile'が定義されていません。 ' – Windstorm1981

答えて

2

は、私たちは同じディレクトリに2つのファイルを持ってみましょう。ファイルはmain.pyanother.pyと呼ばれます。

まずanother.py方法を記述します。

def do_something(): 
    return "This is the do something method" 

その後main.pyからメソッドを呼び出します。ここmain.pyは次のとおりです。

import another 
print another.do_something() 

実行main.pyと次のような出力が得られます:

This is the do something method 

NB:上記のコードは、Windows 10でのPython 2.7を使用して

+0

私は同じことを信じています。働いていない。 – Windstorm1981

+0

両方のファイルが同じディレクトリにあり、同じファイル名のディレクトリがないことを確認してください。 – arsho

+0

両方のファイルが同じディレクトリにあります。それは新しいコンピュータであり、他のディレクトリに同じ名前のファイルはありません。 – Windstorm1981

4

を実行されている指定しますモジュール、次にファイルをインポートします。

from this_module.anotherfile import dosomething 

またはあなたが「anotherfile.py」

from this_module.anotherfile import * 

からすべての機能をしたいし、次にあなたが「anotherfile」接頭辞なし「doSomethingの」コマンドを呼び出すことができます。

+0

同じ問題。何らかの理由で、 'このファイル'の私のコードは、同じディレクトリにある 'anotherfile.py'を見ていません。 – Windstorm1981

+0

私の編集した答えを見る(インポートにモジュールを含めるのを忘れた)新しい提案を試してみよう – drew

+0

具体的には 'this_module'ですか?私は 'このファイル'にあり、コード行を持っています。機能はありません(まだ) – Windstorm1981

0

私は問題を発見しました。 Pythonはファイルの別のディレクトリを探していました。私は明示的にthisfile.pyanotherfile.pyが存在する場所へのパスとしての私の作業ディレクトリを設定し、それが動作します。すべての迅速な返信をありがとう。

関連する問題