Esecuzione di file Python nel terminale


47

Sto cercando di imparare come eseguire regolarmente i miei script attraverso il terminale di Ubuntu. Detto questo, ho familiarità con bash, wgeted awkessere chiamato, ma come posso chiamare i file Python per essere eseguiti nel terminale? Mi piacerebbe imparare questo, ma non sono sicuro su dove ricercarlo. Ho un .pywfile che fa riferimento a diversi .pyfile in una cartella.


Caso differenziale di seguito perché il titolo originale è troppo generico, incluso quello - sull'esecuzione dello script Python nel terminale per chiamare una funzione stackoverflow.com/q/25837063/54964
Léo Léopold Hertz

Risposte:


81

Opzione 1: chiamare l'interprete

  • Per Python 2: python <filename>.py
  • Per Python 3: python3 <filename>.py

Opzione 2: consentire allo script di chiamare l'interprete

  1. Assicurati che la prima riga del tuo file abbia #!/usr/bin/env python.
  2. Renderlo eseguibile - chmod +x <filename>.py.
  3. Ed eseguilo come ./<filename>.py

qual è il motivo, quando voglio eseguire il mio .py funziona solo con l'opzione 1 del tuo metodo, e il secondo dà un errore di sintassi?
Krsztr,

cosa succede se si desidera aprire un nuovo file Python ??
asmgx il

8

Basta aggiungere il prefisso al nome del file dello script python. Per esempio:

python filename.py

5

Vale anche la pena ricordare che aggiungendo un -iflag dopo python, è possibile mantenere la sessione in esecuzione per ulteriore codifica. Come questo:

python -i <file_name.py>

3
python <filename.py>

Pyw dovrebbe funzionare allo stesso modo, credo. Puoi anche avviare una console interattiva con solo

python

Inoltre, puoi evitare di invocare esplicitamente python aggiungendo uno shebang nella parte superiore dello script:

#!/usr/bin/env python

... o qualsiasi numero di varianti dello stesso


2

Prima esecuzione seguendo il comando

chmod +x <filename>.py

Quindi nella parte superiore dello script, aggiungi #!e il percorso dell'interprete Python:

#!/usr/bin/python

Se desideri che lo script sia indipendente da dove vive l'interprete Python, puoi usare il envprogramma. Quasi tutte le varianti di Unix supportano quanto segue, supponendo che l'interprete Python sia in una directory dell'utente $PATH:

#! /usr/bin/env python

0

Cambia directory usando cdnella directory che contiene il .py ed esegui uno dei seguenti due comandi:

python <filename>.py  # for Python 2.x  
python3 <filename>.py # for Python 3.x 

In alternativa, esegui uno dei due comandi seguenti:

python /path/to/<filename>.py  # for Python 2.x  
python3 /path/to/<filename>.py # for Python 3.x 

-2

Prova a utilizzare il comando python3anziché python. Se lo script è stato scritto in Python3 e si tenta di eseguirlo con Python2, è possibile che si verifichino problemi. Ubuntu ha entrambi; cambiando il nome del programma in python3(invece di sostituirlo python) reso possibile. Ubuntu ha bisogno della versione 2.7 (a partire dal 16/02/2017), quindi NON eliminare o rimuovere Python2, ma conservali entrambi. Prendi l'abitudine di usare Python3 per eseguire gli script, che possono essere eseguiti entrambi.


1
-1 Python 3 non può eseguire gli script Python 2 (con poche eccezioni).
wjandrea,

Mio male, hai ragione. Questo è probabilmente il motivo per cui Ubuntu utilizza ancora Python 2. Scusa wjandrea, grazie per avermi corretto.
Tony,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.