Poskušam izvesti datoteko z ukazi pythona znotraj prevajalnika.
EDIT: Poskušam uporabiti spremenljivke in nastavitve iz te datoteke in ne sprožiti ločenega procesa.
Za Python 2:
>>> execfile('filename.py')
Za Python 3:
>>> exec(open("filename.py").read())
# or
>>> from pathlib import Path
>>> exec(Path("filename.py").read_text())
Glej dokumentacijo. Če uporabljate Python 3.0, glejte to vprašanje.
Glej odgovor @S.Lott za primer, kako dostopate do globalov iz datoteke filename.py, potem ko ste jo izvršili.
Na več načinov.
Iz lupine
python someFile.py
V načinu IDLE pritisnite F5.
Če tipkate interaktivno, poskusite to: (Tudi za Python 2!)
>>> variables= {}
>>> execfile( "someFile.py", variables )
>>> print variables # globals from the someFile module
Za Python 3 uporabite:
>>> exec(open("filename.py").read())
Poskušam uporabiti spremenljivke in nastavitve iz te datoteke, ne pa sprožiti ločenega procesa.
Preprosto uvozite datoteko z import filename
(minus .py, mora biti v istem imeniku ali v vašem PYTHONPATH
), s čimer bo datoteka zaživela in njene spremenljivke, funkcije, razredi itd. bodo na voljo v imenskem prostoru filename.variable
.
Če imate torej cheddar.py
s spremenljivko spam in funkcijo eggs - ju lahko uvozite z import cheddar
, dostopate do spremenljivke z cheddar.spam
in zaženete funkcijo s klicem cheddar.eggs()
Če imate v datoteki cheddar.py
kodo, ki je zunaj funkcije, se bo ta takoj zagnala, vendar bo gradnja aplikacij, ki izvajajo stvari ob uvozu, otežila ponovno uporabo vaše kode. Če je le mogoče, postavite vse znotraj funkcij ali razredov.