20+ comandi Python essenziali che dovresti conoscere
Pubblicato: 2022-08-03Python è 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ù.
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:
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:
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.
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.
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.
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!