Wywołanie funkcji z innego pliku w Pythonie

Set_up: Mam plik .py dla każdej funkcji, której muszę użyć w programie.

W tym programie, muszę wywołać funkcję z plików zewnętrznych.

I've tried:

from file.py import function(a,b)

Ale dostaję błąd:

ImportError: Brak modułu o nazwie 'plik.py'; plik nie jest pakietem

Jak mogę naprawić ten problem?

Rozwiązanie

Nie ma potrzeby dodawania file.py podczas importowania. Wystarczy napisać from file import function, a następnie wywołać funkcję używając function(a, b). Powodem, dla którego to może nie działać, jest to, że file jest jednym z podstawowych modułów Pythona, więc proponuję zmienić nazwę pliku.

Zauważ, że jeśli próbujesz zaimportować funkcje z a.py do pliku b.py, musisz się upewnić, że a.py i b.py są w tym samym katalogu.

Komentarze (8)

Przede wszystkim nie potrzebujesz .py.

Jeśli masz plik a.py i wewnątrz masz kilka funkcji:

def b():
  # Something
  return 1

def c():
  # Something
  return 2

I chcesz je zaimportować w z.py musisz napisać

from a import b, c
Komentarze (8)

Najpierw zapisz plik w formacie .py (na przykład, my_example.py). I jeśli ten plik ma funkcje,

def xyz():

        --------

        --------

def abc():

        --------

        --------

W wywołaniu funkcji wystarczy wpisać poniższe linie.

nazwa_pliku: my_example2.py

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

import my_example.py

a = my_example.xyz()

b = my_example.abc()

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

Komentarze (1)