20+ comandi Python essenziali che dovresti conoscere

Pubblicato: 2022-08-03

Python è attualmente uno dei linguaggi di programmazione più popolari in circolazione. È un linguaggio potente ma semplice che può essere utilizzato in quasi tutti gli ambienti di sviluppo.

Un sondaggio Stack Overflow del 2021 rivela Python come il linguaggio di programmazione con cui la maggior parte degli sviluppatori desidera lavorare di più.

Python è il linguaggio più popolare con il 19,04%, Typescript segue con il 15,29% e terminando tra i primi 3, JS con il 14,59%.
Sondaggio Stack Overflow.
Ti consigliamo di aggiungere questo ai segnalibri per dopo e risparmiare tempo nel tuo prossimo progetto Fai clic per twittare

Grazie a strumenti come Jupyter Notebook, Google Colaboratory e compilatori online, puoi iniziare con questo linguaggio senza doverti preoccupare di installare nulla.

Tuttavia, se vuoi andare oltre e goderti la vera potenza di un linguaggio generico come Python (soprattutto creando app complesse), prima o poi dovrai imparare a usare la CLI o l'interfaccia della riga di comando.

La maggior parte degli sviluppatori concorda sul fatto che una delle parti più intimidatorie dell'apprendimento di Python sia la CLI. Ma con solo pochi comandi sotto la cintura, lo padroneggerai in pochissimo tempo.

In questo articolo imparerai i comandi più utili per lo sviluppo di Python.

Che cos'è l'interfaccia della riga di comando?

L'interfaccia della riga di comando, spesso abbreviata in CLI, è un programma basato su testo utilizzato per eseguire programmi ed eseguire attività relative al sistema operativo (OS), come la creazione e la gestione di file.

Le CLI accettano input dalla tastiera sotto forma di comandi e li passano a una shell oa un interprete di comandi. Queste shell interpretano i comandi dati dall'utente, li eseguono e restituiscono un risultato spesso indicato come output.

Una CLI può eseguire diverse shell. Questo screenshot mostra due diverse CLI, una con la shell Python e un'altra con Bash:

Le shell Python e Bash si sono aperte in due diverse CLI mostrando l'output dei comandi print e neofetch.
Shell Python e Bash.

Questi due concetti sono spesso confusi, quindi ecco la ripartizione:

  • CLI è l'interfaccia testuale in cui si digitano i comandi e si ottiene l'output di tali comandi. Può eseguire diverse shell.
  • Una shell è un interprete di comandi in grado di interagire con il sistema operativo.

Che tu ci creda o no, ogni programma in esecuzione sul tuo sistema comporta un comando. Le finestre (GUI) con cui interagisci ogni giorno sono costituite da binding che attivano comandi che ti consentono di interagire con il sistema operativo.

Hai bisogno della CLI nello sviluppo di Python?

Per essere uno sviluppatore completo efficace, devi avere una solida conoscenza della riga di comando. Questo perché la maggior parte dei framework di back-end richiede una qualche forma di interazione diretta con una CLI e se prevedi di distribuire un'app da solo, la riga di comando sarà la tua migliore amica.

Al giorno d'oggi, puoi eseguire Python da innumerevoli servizi online, nonché IDE che rendono molto più semplice l'esecuzione dei tuoi programmi. Ma se ti occupi dello sviluppo web, in particolare del back-end, dell'automazione delle attività, della blockchain, dell'utilizzo di un computer remoto tramite SSH o della gestione di strumenti compatibili con Python come Docker, dovrai sicuramente gestire la CLI.

In effetti, Python ha un sacco di librerie per creare applicazioni CLI come Typer, Argsparse e Click. Puoi passare dall'essere un semplice utente CLI a essere un creatore delle tue app CLI! Questo mostra la forte connessione tra gli ambienti CLI e Python.

Una volta padroneggiata la CLI, sarà molto più facile eseguire le tue attività come programmatore Python e vedrai un vantaggio quando usi altri linguaggi di programmazione come PHP, C, C++ o Java.

Introduzione alla CLI

A seconda del sistema operativo in esecuzione, troverai differenze nel modo in cui utilizzi la riga di comando. Ogni sistema operativo ha il proprio modo di aprire e interagire con una CLI a causa delle diverse strutture di organizzazione dei file e delle shell dei comandi predefinite.

Diamo un'occhiata ai tre sistemi operativi più utilizzati dagli sviluppatori: Windows, Mac e Linux.

finestre

Windows è il sistema operativo desktop più popolare, principalmente per il suo prezzo e la facilità d'uso. Se si desidera accedere alla CLI in Windows, è necessario aprire il programma “Prompt dei comandi” o “Windows Powershell”.

Ricorda che Windows usa \ per i percorsi invece di / . Dovresti tenerlo a mente quando navighi tra le directory.

Anche su Windows, hai l'alternativa di installare Git Bash, una riga di comando che emula il comportamento della shell Bash in Windows. Ciò renderebbe la maggior parte dei comandi Unix mostrati di seguito compatibili con il tuo sistema.

Mac

Come per Mac, la riga di comando è accessibile da un'applicazione integrata chiamata "Terminale". Puoi cercarlo con il Launchpad o trovarlo nella cartella "Utilità" in "applicazioni".

Linux

Su Linux, hai un sacco di opzioni diverse a seconda della distribuzione che usi, ma il comando "Ctrl + Alt + T" in genere attiva il terminale predefinito nel tuo sistema.

Ora dovresti avere una finestra simile a quella mostrata di seguito:

Manjaro Linux CLI che mostra lo stato del sistema.
CLI.

Oltre 20 comandi CLI più utili per lo sviluppo di Python

Una volta che hai aperto la tua CLI, è il momento di tuffarti nei migliori comandi della shell che ti semplificheranno la vita come sviluppatore Python.

Comandi di installazione

Probabilmente ti sei imbattuto in un milione di modi per installare Python. Ma a volte, è molto più conveniente farlo con un semplice comando.

Ecco i diversi comandi che ti aiuteranno a installare Python su diversi sistemi operativi.

1. Cioccolatoso

Su Windows, non hai un gestore di pacchetti per impostazione predefinita. Un'opzione per superare questo problema è Chocolatey, che fornisce programmi da installare direttamente dalla riga di comando, incluso ovviamente Python.

Assicurati di installare Chocolatey prima di eseguire il seguente comando:

 choco install python --pre

2. Homebrew e Pyenv

macOS viene fornito con Python 2.7 installato per impostazione predefinita. Tuttavia, Python 2.7 è ora deprecato. L'intera comunità è passata a Python 3. Per gestire in modo efficiente le versioni di Python, puoi utilizzare un programma come pyenv.

Apri una riga di comando e installa l'ultima versione di Homebrew (un gestore di pacchetti come Chocolatey) con il seguente comando:

 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

Quindi puoi installare pyenv con questo semplice comando:

 brew install pyenv

Puoi installare una versione specifica di Python e impostarla come eseguibile Python globale invece di Python 2:

 pyenv install 3.10 # Version you want pyenv global 3.10.4 # Sets that version as default

Ora, se chiami Python, sarà la versione che hai impostato con pyenv:

 python # Python 3.10.4 .... # >>>

3. apt, pacman e dnf

Con l'ampio utilizzo di Python per il software open source, un gran numero di distribuzioni Linux viene fornito con Python preinstallato. Se il tuo sistema non lo fa, puoi invece installare Python con un gestore di pacchetti.

Nelle distribuzioni basate su Debian (Ubuntu, Linux Mint, Kali Linux), utilizzerai apt, che sta per "strumento pacchetto avanzato":

 sudo apt update sudo apt install python3

Inoltre, se desideri impostare Python 3 come interprete Python predefinito, puoi utilizzare il comando seguente:

 sudo apt install python-is-python3

Nelle distribuzioni basate su Arch, puoi utilizzare il gestore di pacchetti ufficiale pacman:

 sudo pacman -S python

Nelle distribuzioni Linux basate su Fedora e RPM (Red Hat, CentOS), usi dnf:

 sudo dnf install python3

Comandi dell'interprete

Esaminiamo rapidamente i principali flag - opzioni della riga di comando - del comando Python e del suo gestore di pacchetti, pip.

4. pitone

Il comando python ha diversi flag, ovvero opzioni che modificano il comportamento dell'esecuzione del codice.

Innanzitutto, per eseguire un file Python, basta chiamare l'interprete e aggiungere il nome del file, inclusa l'estensione .py :

 python helloworld.py

Se hai bisogno di ricordare cosa fa un flag, puoi usare il flag di help in una di queste 3 presentazioni:

 python -? python -h python --help

Per stampare (vedere) la versione di Python in esecuzione, utilizzare quanto segue:

 python -V python --version

Se vuoi eseguire codice Python senza aprire e modificare un file .py , puoi eseguirlo direttamente dal tuo terminale con il flag di comando:

 # Hello, World! python -c "print('Hello, World!')"

Il flag m esegue un modulo Python come script. Questo è davvero utile quando vuoi creare un ambiente virtuale con il modulo venv integrato:

 python -m venv .venv

5. pip

Il comando pip cerca i pacchetti nel Python Package Index (PyPI), risolve le dipendenze e installa la versione del pacchetto che hai indicato.

Per installare un pacchetto Python, digita semplicemente pip e il nome del pacchetto che desideri installare.

Il comando seguente installerà l'ultima versione del pacchetto:

 pip install django

Se desideri una versione specifica, esegui il comando seguente:

 # pip install package==version pip install django==4.0.4

Quando si lavora su progetti collaborativi, è necessario tenere traccia delle dipendenze, di solito con un file dei requisiti. Con il flag r , puoi leggere e installare i pacchetti da un file di testo:

 pip install -r requirements.txt

Un'altra caratteristica comunemente usata è il flag di freeze . Viene utilizzato per generare un elenco delle versioni del pacchetto che hai installato nel tuo ambiente. Puoi usarlo per generare le tue dipendenze in un file dei requisiti:

 pip freeze >> requirements.txt

Comandi di autorizzazione

Python è davvero bravo nello scripting e nella gestione dei file. Per lavorare con queste attività, devi avere una certa conoscenza di come funzionano le autorizzazioni nel tuo sistema operativo.

6. sudo, runas

Nei sistemi basati su Unix (macOS, Linux, BSD), è necessario disporre delle autorizzazioni di superutente per eseguire determinate attività, come l'installazione di un programma, come abbiamo fatto sopra.

Il comando sudo ti consente di ottenere brevemente le autorizzazioni di amministratore per eseguire uno di questi comandi.

Di seguito è riportato un esempio di installazione di ueberzug (un pacchetto Python di anteprima dell'immagine) a livello globale:

 sudo pip install ueberzug

L'equivalente di Windows è Runas, che esegue uno script come utente diverso o come amministratore:

 runas /noprofile /user:Administrator cmd

Esistono anche altri progetti come Gsudo, che rende il processo di elevazione dei permessi molto più semplice rispetto ad altri comandi integrati di Windows:

 :: Installs gsudo choco install gsudo :: Reads a file named MySecretFile.txt gsudo type MySecretFile.txt

7. mod

chmod viene utilizzato per modificare i permessi di file e directory in Unix.

Un uso comune è rendere eseguibile uno script Python:

 # Makes mypythonscript.py executablechmod +x mypythonscript.py

Dopo aver reso eseguibile uno script, puoi eseguirlo direttamente usando la notazione ./ :

 # Runs the script ./mypythonscript.py

Comandi di navigazione

La navigazione nel file system in un'interfaccia a riga di comando è un'attività quotidiana per gli sviluppatori Python. Di seguito sono riportati alcuni comandi essenziali utilizzati per navigare nel sistema durante la programmazione con Python.

8. ls, dir

Per elencare il contenuto di una directory (cartella), devi usare il ls (Unix) o dir (Windows). Questo è stato probabilmente il primo comando che hai imparato quando hai incontrato per la prima volta la CLI.

Ecco la sintassi utilizzata:

 ls # Shows the contents of the working directory ls mydirectory

Ed ecco un esempio del contenuto di una cartella in un file system locale:

 ls test_python/ # classes_error.py radius.py test-Django

Questo comando ha molti flag utili. In effetti, è spesso alias ls -al per visualizzare i file nascosti (quelli con un punto all'inizio) e la modalità, la dimensione e la data di ciascun file:

 alias ls="ls -al" # Results total 20 drwx------ 3 daniel daniel 4096 ene 16 19:13 . drwxr-xr-x 36 daniel daniel 4096 may 17 22:18 .. -rw------- 1 daniel daniel 32 nov 17 2020 classes_error.py -rw------- 1 daniel daniel 327 nov 10 2020 radius.py drwx------ 4 daniel daniel 4096 ene 16 01:07 test-Django

Per quanto riguarda Windows, puoi usare ls usando Git Bash, oppure puoi usare il comando dir integrato:

 dir

9. pw

pwd sta per "stampa directory di lavoro" e fa esattamente questo: ti dà il percorso completo della directory in cui ti trovi:

 pwd # /home/daniel/github/HTML-site/images

Se ti sei mai perso nel tuo terminale, questo comando ti salva la vita.

Puoi ottenere lo stesso risultato in Windows usando il comando cd senza parametri (nota che lo stesso comando in Unix ti porterebbe alla home directory):

 # Only on Windows cd # D:\Folder\subFolder

10. cp

Copiare i file con un file manager grafico è intuitivo, ma inefficiente. Con questo comando puoi copiare qualsiasi tipo di file sul tuo sistema:

 cp old_file.txt copy_old_file.txt

Per copiare tutto il contenuto di una directory, devi usare cp -r :

 cp -r originaldirectory/ newdir

L'equivalente per cp in Windows è copy :

 copy old_file.txt copy_old_file.txt /a

11. gatto, tipo

Per stampare il contenuto di un file di testo nel terminale senza aprire il file con un editor, puoi usare cat , more o less su Unix e type su Windows:

 cat old_file.txt # Unix type old_file.txt # Windows # Content Hi there I hope you're enjoying the article ... as much as I've enjoyed writing it! End of the sample.

12. mv, muoviti

Il comando mv sposta file e directory da una directory all'altra, in pratica un taglia e incolla, o rinomina un file se la destinazione non esiste:

 # Rename files mv source_file.txt renamed_file.txt
 # File to another directory mv renamed_file.txt newdir/

Puoi anche usare la corrispondenza dei modelli per spostare i file. Ad esempio, sposta tutti i file .py in un'altra cartella:

 mv *.py mypythondir/

Un comando equivalente su Windows è move , che ha quasi le stesse funzionalità di cui sopra:

 # Windows move source_file.txt renamed_file.txt

13. rm, del

È possibile utilizzare il comando rm per rimuovere file e directory.

Per eliminare un file, non una directory, dovresti usare:

 rm file_to_remove.txt

Se vuoi eliminare una directory vuota, puoi usare il flag ricorsivo ( -r ):

 rm -r dir_to_remove/

Per rimuovere una directory con contenuto all'interno, dovresti usare i flag force ( -f ) e ricorsivi:

 rm -rf dir_with_content/

In una forma simile, trovi del su Windows. Sii ancora più cauto poiché questo comando non ha i flag di prevenzione visti sopra:

 del \mywindowsdir

14. uscita

Una volta che hai finito con la tua programmazione Python dovresti essere in grado di uscire dalla tua sessione di shell. Nella maggior parte dei casi, questo chiuderebbe anche il terminale che stai utilizzando:

 exit

Nota che questo comando funziona sia su Windows che su Unix.

Editor della riga di comando

Una volta che ti sarai abituato alla riga di comando, scoprirai che è più lento cambiare le finestre o persino usare il mouse per modificare il tuo codice.

Avere la possibilità di programmare mentre rimani nella riga di comando non è solo un ottimo modo per risparmiare tempo, ma ti farà anche sembrare un supereroe tra i tuoi compagni di squadra!

Ecco alcuni degli editor da riga di comando più utilizzati.

15. Vim/Neovim

Vim e il suo discendente, Neovim, sono editor di testo basati su tastiera utilizzati principalmente nella riga di comando. Secondo un sondaggio Stack Overflow del 2021, si classificano al 4° e al 1° posto tra gli editori più amati dagli sviluppatori.

I risultati del sondaggio mostrano Neovim come l'editor più amato e Vim al 4° posto.
Editor di codice preferiti.

Vim è preinstallato su Linux e macOS. In effetti, è l'editor che incontrerai di più quando interagisci con i server. Su Windows, dovrai installarlo usando il programma di installazione eseguibile dalla pagina di Vim.

Ora puoi goderti la potenza di Vim semplicemente digitando il suo nome sulla riga di comando:

 vim

Ciò attiverà un'interfaccia basata su testo con più combinazioni di tastiera per ogni azione di cui potresti aver bisogno durante la codifica in Python.

Vim ha una curva di apprendimento ripida, ma una volta che la domini, non passerai presto a qualcos'altro.

Vi Migliorato.

16. Nano

Nano è un altro editor di testo da riga di comando utilizzato principalmente per modifiche rapide.

Supponiamo che tu abbia introdotto un errore di sintassi nel tuo codice ma non desideri aprire il tuo editor per correggerlo. Nano ti aiuta a risolverlo direttamente dalla tua CLI:

 nano

17. Emac

Emacs è uno degli editor di testo più estensibili e personalizzabili che puoi trovare. Ha un'intera sezione dedicata alla programmazione Python dove troverai tonnellate di plugin per migliorare la tua esperienza di sviluppo.

Emacs è disponibile in quasi tutti i sistemi operativi, quindi se non l'hai già installato, controlla le istruzioni per il download.

Per aprire Emacs dal tipo di riga di comando, usa il flag di sistema no window ( -nw ):

 emacs -nw

Strumenti di sviluppo

Lo sviluppo di Python implica non solo la codifica, ma anche la gestione di strumenti aggiuntivi come ambienti virtuali, sistemi di controllo della versione e strumenti di distribuzione.

Imparando i comandi seguenti otterrai un vantaggio nello sviluppo di qualsiasi tipo di app con Python.

18. virtualenv/venv

Gli ambienti virtuali sono una tecnica cruciale utilizzata nello sviluppo di Python. Con loro, puoi isolare i pacchetti utilizzati in diversi progetti in una cartella leggera, il più delle volte denominata .venv .

Con Python 3.3 o versioni successive, puoi utilizzare il modulo venv integrato per creare un ambiente virtuale:

 # .venv being the name of the virtual environment python -m venv .venv

virtualenv è un progetto esterno più veloce ed estensibile rispetto all'opzione integrata. Per creare un ambiente virtuale, installa prima il pacchetto virtualenv:

 # Installs virtualenv pip install --user virtualenv # Creates a .venv virtual environment virtualenv .venv

Successivamente, dovrai attivare l'ambiente virtuale. In Windows, esegui uno dei seguenti comandi a seconda che utilizzi cmd o PowerShell (consigliato):

 :: PowerShell .venv\Scripts\Activate.ps1
 :: Cmd .venv\Scripts\activate.bat

Su Linux o macOs:

 source .venv/bin/activate

19. Git

Il controllo della versione è una delle pratiche più importanti nello sviluppo del software. Ci consente di tenere traccia di tutte le modifiche al codice, collaborare con altri sviluppatori e visualizzare un quadro chiaro del processo di sviluppo nel suo insieme.

Git è di gran lunga il sistema di controllo della versione più utilizzato. Puoi installarlo dalla sua pagina di download.

Una volta installato, puoi aprire un terminale e dare una prima occhiata a tutte le opzioni disponibili con questo comando:

 git help

Per creare un repository, usa git init e digita il nome del tuo repository:

 git init name_repository Initialized empty Git repository in /home/daniel/name_repository/.git/

Nota che questo creerà solo un repository Git locale. Se desideri avere un repository remoto in cui archiviare tutte le modifiche online, dovresti utilizzare una piattaforma come GitHub o BitBucket.

Per clonare un repository remoto, utilizzerai git clone e l'origine del repository. Nell'esempio seguente, stiamo clonando un repository GitHub su SSH:

 git clone [email protected] :DaniDiazTech/HTML-site.git ... Cloning into 'HTML-site'... remote: Enumerating objects: 24, done. remote: Counting objects: 100% (24/24), done. remote: Compressing objects: 100% (18/18), done. remote: Total 24 (delta 6), reused 21 (delta 4), pack-reused 0 Receiving objects: 100% (24/24), 4.98 MiB | 438.00 KiB/s, done. Resolving deltas: 100% (6/6), done.

20. Docker

Docker semplifica il confezionamento e la spedizione delle tue app Python come contenitori leggeri, portatili e autosufficienti. Aiuta sia nello sviluppo che nella distribuzione, consentendo a tutti i collaboratori di lavorare con le stesse impostazioni.

Per utilizzare Docker, devi seguire rigorosamente il processo di installazione mostrato per il tuo sistema operativo nella pagina Ottieni Docker.

Per elencare i comandi Docker disponibili, esegui quanto segue:

 docker help

Sarebbe difficile spiegare come eseguire Docker Compose in questa sezione ristretta, quindi assicurati di controllare la documentazione ufficiale.

21. Grep

Grep è un'utilità della riga di comando essenziale utilizzata per la corrispondenza dei modelli nei file di testo normale.

Un uso comune è trovare quante volte una parola si ripete in un file:

 grep -ic python pythondocument.txt 2

Nell'esempio sopra, otteniamo il numero di volte in cui Python (senza distinzione tra maiuscole e minuscole) è stato trovato nel file pythondocument.txt .

L'equivalente di Windows di grep è findstr. Tuttavia, non è proprio lo stesso programma. Puoi usare Git Bash per utilizzare grep in Windows:

 findstr /i /C python pythondocument.txt 2

22. HTTPie

HTTPie è un client HTTP da riga di comando che semplifica l'interazione con i servizi Web. Puoi usarlo, ad esempio, per testare le tue API Python o interagire con siti di terze parti.

Questo strumento CLI è disponibile in quasi tutti i gestori di pacchetti, come mostrato nella documentazione ufficiale di HTTPie. Tuttavia, è anche disponibile come pacchetto Python, quindi puoi installarlo con pip.

 pip install httpie

Ecco come interrogare un'API remota, in questo caso l'API GitHub:

 http GET https://api.github.com/users/danidiaztech HTTP/1.1 200 OK Accept-Ranges: bytes Access-Control-Allow-Origin: * ...

23. ping

ping è un comando CLI disponibile per impostazione predefinita praticamente su qualsiasi sistema operativo. Funziona inviando pacchetti di dati a un indirizzo IP e testando quanto tempo ci vuole per trasmettere dati e ricevere una risposta, quindi mostra i risultati in millisecondi

Questo comando viene utilizzato principalmente per verificare la connessione tra due macchine, ovvero la tua macchina e la tua app Python su un server web:

 ping kinsta.com PING kinsta.com(2606:4700:4400::ac40:917d (2606:4700:4400::ac40:917d)) 56 data bytes 64 bytes from 2606:4700:4400::ac40:917d (2606:4700:4400::ac40:917d): icmp_seq=1 ttl=50 time=686 ms

Tabella di riferimento dei comandi

Di seguito, puoi trovare un riferimento rapido per ogni comando di cui abbiamo discusso:

Comando Utilizzo
choco Installa i pacchetti su Windows
brew gestore di pacchetti macOS
apt, pacman, dnf Gestore di pacchetti su diverse distribuzioni Linux
python Esegue l'interprete Python
pip Gestore di pacchetti Python
sudo, runas Programma Unix e Windows utilizzato per ridimensionare le autorizzazioni
chmod Modifica i permessi dei file
ls Elenca il contenuto di una directory
pwd Stampa la directory di lavoro
cp Copia file e directory
cat Stampa il contenuto del file
mv, move Sposta (rinomina) file e directory
rm, del Rimuovere file e directory
exit esce dalla sessione della shell corrente
vim, neovim Modifica del testo efficiente
nano Editor di testo per modifiche rapide
emacs L'editor più personalizzabile
virtualenv, venv Generatori di ambienti virtuali
git Sistema di controllo della versione
docker Containerizza le app
grep Utilità di corrispondenza dei modelli
http Utilità di test del servizio Web
ping Verifica la connettività di rete
kill Termina i programmi

Riepilogo

Python è uno dei linguaggi di programmazione più facili da imparare. L'unico ostacolo che troverai è quando entri nella riga di comando senza capire i comandi di cui avrai bisogno.
La maggior parte degli sviluppatori concorda sul fatto che una delle parti più intimidatorie dell'apprendimento di Python sia la CLI. Ma con pochi comandi alle tue spalle, lo padroneggi in men che non si dica. Clicca per twittare
In questo articolo, hai imparato a conoscere la riga di comando e alcuni dei suoi comandi più popolari utilizzati per lo sviluppo di Python.

Quali altri comandi hai trovato utili nello sviluppo di Python? Condividili nei commenti qui sotto!