How do I call a function from another .py file? [duplicate]
Как мне вызвать функцию из другого файла .py?
file.py содержит функцию с именем function. Как мне ее импортировать?
from file.py import function(a,b)
Приведенное выше выдает ошибку:
Ошибка импорта: нет модуля с именем 'file.py'; файл не является пакетом
Переведено автоматически
Ответ 1
Сначала импортируем function из file.py:
from file import function
Позже вызовите функцию, используя:
function(a, b)
Обратите внимание, что file это один из основных модулей Python, поэтому я предлагаю вам изменить имя файла file.py на что-нибудь другое.
Обратите внимание, что если вы пытаетесь импортировать функции из a.py в файл с именем b.py, вам нужно будет убедиться, что a.py и b.py находятся в одном каталоге.
Ответ 2
Не записывайте .py при импорте.
Пусть file_a.py содержит внутри себя несколько функций:
deff(): return1
defg(): return2
Чтобы импортировать эти функции в file_z.py, сделайте это:
from file_a import f, g
Ответ 3
Если ваш файл находится в другой структуре пакета и вы хотите вызвать его из другого пакета, то вы можете вызвать его таким образом:
Допустим, у вас есть следующая структура пакета в вашем проекте python:
в - com.my.func.DifferentFunction файле python у вас есть некоторая функция, например:
defadd(arg1, arg2): return arg1 + arg2
defsub(arg1, arg2) : return arg1 - arg2
defmul(arg1, arg2) : return arg1 * arg2
И вы хотите вызывать разные функции из Example3.py, тогда вы можете сделать это следующим образом:
Определите оператор import в Example3.py - файле для функции import all
from com.my.func.DifferentFunction import *
или определите имя каждой функции, которую вы хотите импортировать
from com.my.func.DifferentFunction import add, sub, mul
Затем в Example3.py вы можете вызвать функцию для выполнения:
num1 = 20 num2 = 10
print("\n add : ", add(num1,num2)) print("\n sub : ", sub(num1,num2)) print("\n mul : ", mul(num1,num2))
Вывод:
add : 30
sub : 10
mul : 200
Ответ 4
Метод 1. Импортируйте конкретную функцию (ы), которую вы хотите получить из file.py:
from file import function
Метод 2. Импортируйте весь файл целиком:
import file as fl
Затем, чтобы вызвать любую функцию внутри file.py, используйте: