Python esegue un altro script Python

Vaibhhav Khetarpal 21 dicembre 2022
  1. Usa l’istruzione import per eseguire uno script Python in un altro script Python
  2. Usa il metodo execfile() per eseguire uno script Python in un altro script Python
  3. Usa il modulo subprocess per eseguire uno script Python in un altro script Python
Python esegue 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 Khetarpal avatar Vaibhhav Khetarpal avatar

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