Jeg prøver å kjøre en fil med python-kommandoer fra tolken.
EDIT: Jeg prøver å bruke variabler og innstillinger fra den filen, ikke å påkalle en egen prosess.
For Python 2: For Python 2:**
>>> execfile('filename.py')
For Python 3:
>>> exec(open("filename.py").read())
# or
>>> from pathlib import Path
>>> exec(Path("filename.py").read_text())
Se dokumentasjonen. Hvis du bruker Python 3.0, se dette spørsmålet.
Se svar fra @S.Lott for et eksempel på hvordan du får tilgang til globaler fra filename.py etter å ha kjørt den.
På flere måter.
Fra skallet
python someFile.py
Fra IDLE, trykk F5.
Hvis du skriver interaktivt, kan du prøve dette: (Bare Python 2!)
>>> variables= {}
>>> execfile( "someFile.py", variables )
>>> print variables # globals from the someFile module
For Python3, bruk:
>>> exec(open("filename.py").read())
Jeg prøver å bruke variabler og innstillinger fra den filen, ikke å påkalle en egen prosess.
Vel, bare å importere filen med importer filnavn
(minus .py, må være i samme katalog eller på din PYTHONPATH
) vil kjøre filen, og gjøre dens variabler, funksjoner, klasser, etc. tilgjengelig i filename.variable
navneområdet.
Så hvis du har cheddar.py
med variabelen spam og funksjonen eggs - kan du importere dem med import cheddar
, få tilgang til variabelen med cheddar.spam
og kjøre funksjonen ved å kalle cheddar.eggs()
.
Hvis du har kode i cheddar.py
som er utenfor en funksjon, vil den kjøres umiddelbart, men å bygge applikasjoner som kjører ting ved import vil gjøre det vanskelig å gjenbruke koden din. Hvis det er mulig, legg alt inne i funksjoner eller klasser.