Call a function from another file?


Set_up: I have a .py file for each function I need to use in a program.

In this program, I need to call the function from the external files.

I"ve tried:

from import function(a,b)

But I get the error:

ImportError: No module named ""; file is not a package

How do I fix this problem?

Answer rating: 717

There isn"t any need to add while importing. Just write from file import function, and then call the function using function(a, b). The reason why this may not work, is because file is one of Python"s core modules, so I suggest you change the name of your file.

Note that if you"re trying to import functions from to a file called, you will need to make sure that and are in the same directory.

Answer rating: 249

First of all you do not need a .py.

If you have a file and inside you have some functions:

def b():
  # Something
  return 1

def c():
  # Something
  return 2

And you want to import them in you have to write

from a import b, c

Answer rating: 82

You can do this in 2 ways. First is just to import the specific function you want from To do this use

from file import function

Another way is to import the entire file

import file as fl

Then you can call any function inside using


Answer rating: 66

If your file is in the different package structure and you want to call it from a different package, then you can call it in that fashion:

Let"s say you have following package structure in your python project:

Python package and file structure

in - python file you have some function, like:

def add(arg1, arg2):
    return arg1 + arg2

def sub(arg1, arg2) :
    return arg1 - arg2

def mul(arg1, arg2) :
    return arg1 * arg2

And you want to call different functions from, then following way you can do it:

Define import statement in - file for import all function

from import *

or define each function name which you want to import

from import add, sub, mul

Then in you can call function for execute:

num1 = 20
num2 = 10

 add : ", add(num1,num2))
 sub : ", sub(num1,num2))
 mul : ", mul(num1,num2))


 add :  30

 sub :  10

 mul :  200