Lisää
Tiedostojen tuominen eri kansiosta
Minulla on seuraava kansiorakenne.
application/sovellus/sovellus/kansio/tiedosto.py
.
ja haluan tuoda joitakin funktioita tiedostosta file.py toiseen Python-tiedostoon, joka sijaitsee osoitteessa
application/app2/some_folder/some_file.py
.
Olen kokeillut
from application.app.folder.file import func_name
ja joitakin muita erilaisia yrityksiä, mutta toistaiseksi en ole onnistunut tuomaan kunnolla. Miten voin tehdä tämän?
1168
3
Oletusarvoisesti et voi. Tiedostoa tuodessaan Python etsii vain nykyisestä hakemistosta, hakemistosta, josta aloitusskripti suoritetaan, ja
sys.path
, joka sisältää sijainnit, kuten paketin asennushakemiston (se on itse asiassa hieman monimutkaisempi kuin tämä, mutta tämä kattaa useimmat tapaukset).Python-polkua voi kuitenkin lisätä ajon aikana:
Ei mitään vikaa:
Varmista vain, että
kansio
sisältää myös__init__.py
, jolloin se voidaan sisällyttää pakettina. En ole varma, miksi muissa vastauksissa puhutaanPYTHONPATHista
.Luulen, että ad-hoc tapa olisi käyttää ympäristömuuttujaa
PYTHONPATH
, kuten dokumentaatiossa on kuvattu: Python2, Python3.