Set_up: Mám soubor .py pro každou funkci, kterou potřebuji v programu použít.
V tomto programu potřebuji volat funkci z externích souborů.
Zkoušel jsem:
from file.py import function(a,b)
Ale dostanu chybu:
ImportError: Soubor není balíček.
Jak mám tento problém vyřešit?
Při importu není třeba přidávat file.py
. Stačí napsat from file import function
a pak zavolat funkci pomocí function(a, b)
. Důvod, proč to nemusí fungovat, je ten, že soubor
je jedním z jaderných modulů Pythonu, takže doporučuji změnit název souboru.
Všimněte si, že pokud se snažíte importovat funkce ze souboru a.py
do souboru s názvem b.py
, musíte se ujistit, že soubory a.py
a b.py
jsou ve stejném adresáři.
Především nepotřebujete soubor .py
.
Pokud máte soubor a.py
a v něm nějaké funkce:
def b():
# Something
return 1
def c():
# Something
return 2
A chcete je importovat do souboru z.py
, musíte napsat
from a import b, c
Nejprve uložte soubor ve formátu .py (například my_example.py
).
A pokud tento soubor obsahuje funkce,
def xyz():
--------
--------
def abc():
--------
--------
Ve volající funkci stačí napsat níže uvedené řádky.
název_souboru: my_example2.py
============================
import my_example.py
a = my_example.xyz()
b = my_example.abc()
============================