Pythonで他のファイルから関数を呼び出す

セット_アップ。プログラムで使用する必要のある関数ごとに.pyファイルを用意しています。

このプログラムでは、外部ファイルから関数を呼び出す必要があります。

I've tried:

from file.py import function(a,b)

しかし、エラーが出てしまいます。

ImportError:No module named 'file.py'; file is not a package

この問題を解決するにはどうしたらいいですか?

ソリューション

インポートの際にfile.pyを追加する必要はありません。ただ、from file import functionと書いて、function(a, b)で関数を呼び出します。これがうまくいかない理由は、fileがPythonのコアモジュールの一つだからです。

なお、a.pyからb.pyというファイルに関数をインポートしようとする場合は、a.pyb.pyが同じディレクトリにあることを確認する必要があります。

解説 (8)

まず第一に、.pyは必要ありません。

a.py`というファイルがあって、その中にいくつかの関数があるとします。

def b():
  # Something
  return 1

def c():
  # Something
  return 2

そして、それらを z.py でインポートしたい場合、次のように書かなければなりません。

from a import b, c
解説 (8)

まず、ファイルを.py形式で保存します(例:my_example.py)。 そして、そのファイルに関数があれば

def xyz():

        --------

        --------

def abc():

        --------

        --------

呼び出す関数の中で、以下の行を入力するだけです。

ファイル名:マイ・エクセレント2.py

============================

import my_example.py

a = my_example.xyz()

b = my_example.abc()

============================

解説 (1)