Python esegue un altro script Python
-
Usa l’istruzione
import
per eseguire uno script Python in un altro script Python -
Usa il metodo
execfile()
per eseguire uno script Python in un altro script Python -
Usa il modulo
subprocess
per eseguire uno script Python in un altro script Python
Un file di testo di base contenente codice Python che deve essere eseguito direttamente dal client è generalmente chiamato script, formalmente noto come file di programma di primo livello.
Gli script sono pensati per essere eseguiti direttamente in Python. Imparare a eseguire script e codice è un’abilità fondamentale da apprendere nel mondo della programmazione Python. Lo script Python di solito ha l’estensione '.py'
. Se lo script viene eseguito su un computer Windows, potrebbe avere un’estensione, .pyw
.
Questo tutorial discuterà diversi metodi per eseguire uno script Python all’interno di un altro script Python.
Usa l’istruzione import
per eseguire uno script Python in un altro script Python
L’istruzione import
viene utilizzata per importare diversi moduli nel codice Python. Viene utilizzato per ottenere l’accesso a un particolare codice da un modulo. Questo metodo utilizza l’istruzione import
per importare lo script nel codice Python e lo utilizza come modulo. I moduli possono essere definiti come un file che contiene definizioni e istruzioni Python.
Il codice seguente usa l’istruzione import
per eseguire uno script Python in un altro script Python.
Script1.py
:
def func1():
print("Function 1 is active")
if __name__ == "__main__":
# Script2.py executed as script
# do something
func1()
Produzione:
Function 1 is active
Script2.py
:
import Script1.py
def func2():
print("Function 2 is active")
if __name__ == "__main__":
# Script2.py executed as script
# do something
func2()
Script1.func1()
Produzione:
Function 2 is active
Function 1 is active
Usa il metodo execfile()
per eseguire uno script Python in un altro script Python
La funzione execfile()
esegue il file desiderato nell’interprete. Questa funzione funziona solo in Python 2. In Python 3, la funzione execfile()
è stata rimossa, ma la stessa cosa può essere ottenuta in Python 3 usando il metodo exec()
.
Il codice seguente utilizza la funzione execfile()
per eseguire uno script Python in un altro script Python.
Script2.py
:
# Python 2 code
execfile("Script1.py")
Produzione:
Function 1 is active
La stessa cosa può essere fatta in Python 3 usando:
Script2.py
:
exec(open("Script1.py").read())
Produzione:
Function 1 is active
Usa il modulo subprocess
per eseguire uno script Python in un altro script Python
Il modulo subprocess
è in grado di generare nuovi processi e può anche restituire i loro output. Questo è un nuovo modulo e ha lo scopo di sostituire diversi moduli più vecchi come os.system
, precedentemente utilizzato per eseguire uno script Python in un altro script Python.
Il codice seguente utilizza il modulo subprocess
per eseguire uno script Python in un altro script Python.
Script1.py
:
def func1():
print("Function 1 is active")
if __name__ == "__main__":
# Script2.py executed as script
# do something
func1()
Script2.py
:
import subprocess
subprocess.call("Script1.py", shell=True)
Produzione:
Function 1 is active
Sebbene tutti e tre i metodi funzionino bene, questo metodo ha un vantaggio sugli altri due. In questo metodo non è necessario modificare uno script Python esistente e inserire tutto il codice in esso contenuto in una subroutine.
Vaibhhav is an IT professional who has a strong-hold in Python programming and various projects under his belt. He has an eagerness to discover new things and is a quick learner.
LinkedIn