Introduzione all'uso di Python in Windows per la creazione di script e l'automazione
Questa guida dettagliata contiene informazioni utili per configurare l'ambiente di sviluppo e iniziare a usare Python per creare script e automatizzare operazioni di file system in Windows.
Nota
L'articolo illustra come configurare l'ambiente per l'uso di alcune utili librerie in Python che consentono di automatizzare le attività tra piattaforme, ad esempio la ricerca nel file system, l'accesso a Internet, l'analisi dei tipi di file e così via, adottando un approccio incentrato su Windows. Per le operazioni specifiche di Windows, è possibile scegliere tra ctypes, una libreria di funzioni esterna compatibile con C per Python, winreg, funzioni che espongono l'API del Registro di sistema di Windows a Python e Python/WinRT, che consente l'accesso alle API di Windows Runtime da Python.
Configurare l'ambiente di sviluppo
Quando usi Python per scrivere script che eseguono operazioni di file system, è consigliabile installare Python da Microsoft Store. L'installazione tramite Microsoft Store prevede l'uso dell'interprete Python3 di base, ma consente di eseguire la configurazione delle impostazioni di PATH per l'utente corrente senza richiedere l'accesso come amministratore, oltre a fornire aggiornamenti automatici.
Se usi Python per lo sviluppo Web in Windows, è consigliabile eseguire un'installazione diversa usando il sottosistema Windows per Linux. Per una procedura dettagliata, consulta la guida: Introduzione all'uso di Python per lo sviluppo Web in Windows. Se non si ha familiarità con Python, provare la guida: Introduzione all'uso di Python in Windows per principianti. Per alcuni scenari avanzati, ad esempio quando è necessario accedere/modificare file installati di Python, effettuare copie di file binari o usare DLL di Python direttamente, si consiglia di scaricare una versione specifica di Python direttamente da python.org o di provare a installare un'alternativa, ad esempio Anaconda, Jython, PyPy, WinPython, IronPython e così via. Questa operazione è consigliabile solo per i programmatori Python più esperti con un motivo specifico per scegliere un'implementazione alternativa.
Installare Python
Per installare Python con Microsoft Store:
Passare al menu Start (icona DI Windows in basso a sinistra), digitare "Microsoft Store" e selezionare il collegamento per aprire lo Store.
Dopo l'apertura dello Store, selezionare Ricerca nel menu in alto a destra e immettere "Python". Selezionare la versione di Python che si vuole usare dai risultati in App. È consigliabile usare la versione più recente, a meno che non esista un motivo particolare, come ad esempio se è necessario usare la versione specifica di un progetto precedente a cui si prevede di lavorare. Dopo aver determinato quale versione si vuole installare, selezionare Installa.
Al termine del processo di download e installazione di Python, apri Windows PowerShell usando il menu Start (icona di Windows in basso a sinistra). Dopo l'apertura di PowerShell, immetti
Python --version
per verificare che Python3 sia stato installato nel computer.L'installazione di Python da Microsoft Store include pip, l'utilità standard di gestione pacchetti. pip consente di installare e gestire altri pacchetti che non fanno parte della libreria standard di Python. Per verificare se è disponibile anche pip per l'installazione e la gestione dei pacchetti, immettere
pip --version
.
Installare Visual Studio Code
Se si installa VS Code come editor di testo/IDE (Integrated Development Environment), è possibile sfruttare IntelliSense (che facilita il completamento del codice), Linting (che consente di evitare errori nel codice), il supporto per il debug (che consente di trovare errori nel codice dopo l'esecuzione), i frammenti di codice (modelli per piccoli blocchi di codice riutilizzabili) e il testing unità (che consente di testare l'interfaccia del codice con tipi di input diversi).
Scarica VS Code per Windows e segui le istruzioni di installazione: https://code.visualstudio.com.
Installare l'estensione Python Microsoft
Per sfruttare i vantaggi delle funzionalità di supporto di VS Code, devi installare l'estensione Python Microsoft. Ulteriori informazioni.
Per aprire la finestra Estensioni di VS Code, premere CTRL+MAIUSC+X (oppure usare il menu per passare a Visualizza>Estensioni).
Nella casella Cerca le estensioni nel Marketplace in alto, immettere: Python.
Trova l'estensione Python (ms-python.python) di Microsoft e seleziona il pulsante verde Installa.
Aprire il terminale PowerShell integrato in VS Code
VS Code contiene un terminale integrato che consente di aprire una riga di comando di Python con PowerShell, stabilendo un flusso di lavoro automatico tra l'editor del codice e la riga di comando.
Per aprire il terminale in VS Code, seleziona Visualizza>Terminale oppure usa il tasto di scelta rapida CTRL+` (usando il carattere di apice inverso).
Nota
Il terminale predefinito è PowerShell, ma se devi cambiarlo, usa CTRL+MAIUSC+P per accedere al riquadro comandi. Immettere il Terminale: seleziona shell predefinita per visualizzare un elenco di opzioni del terminale che include PowerShell, Prompt dei comandi, WSL e così via. Seleziona l'opzione da usare e premi CTRL+MAIUSC+` (usando l'apice inverso) per creare un nuovo terminale.
All'interno del terminale di VS Code immetti
python
per aprire Python.Per provare l'interprete Python, immettere
print("Hello World")
. Python restituirà l'istruzione "Hello World".Per uscire da Python, è possibile immettere
exit()
,quit()
o premere CTRL + Z.
Installare Git (facoltativo)
Se si prevede di collaborare con altri utenti alla modifica del codice Python oppure si ospita il progetto in un sito open source, come GitHub, VS Code supporta il controllo della versione con Git. La scheda Controllo del codice sorgente in VS Code tiene traccia di tutte le modifiche e include i comandi Git comuni (add, commit, push, pull) integrati nell'interfaccia utente. Per supportare il pannello Controllo codice sorgente, è necessario prima installare Git.
Scaricare e installare Git per Windows dal sito Web git-scm.
Durante l'Installazione guidata verranno poste alcune domande sulle impostazioni per l'installazione di GIT. È consigliabile usare tutte le impostazioni predefinite, a meno che non si abbia un motivo specifico per modificarle.
Se non hai mai usato GIT, consulta le guide di GitHub per iniziare.
Script di esempio per visualizzare la struttura della directory del file system
Le normali attività di amministrazione dei sistemi possono richiedere un notevole tempo, ma è possibile automatizzarle con uno script Python. Ad esempio, Python può leggere il contenuto del file system del computer ed eseguire operazioni quali la stampa di una struttura di file e directory, lo spostamento di cartelle da una directory a un'altra o la ridenominazione di centinaia di file. In genere, l'esecuzione manuale di attività come queste può richiedere moltissimo tempo. In alternativa, è possibile usare uno script Python.
Per iniziare, useremo un semplice script che analizza un albero di directory e visualizza la struttura di directory.
Apri PowerShell usando il menu Start (icona di Windows in basso a sinistra).
Crea una directory per il progetto con il comando
mkdir python-scripts
e quindi usa il comandocd python-scripts
per aprire tale directory.Crea alcune directory da usare con lo script di esempio:
mkdir food, food\fruits, food\fruits\apples, food\fruits\oranges, food\vegetables
All'interno di tali directory crea alcuni file da usare con lo script:
new-item food\fruits\banana.txt, food\fruits\strawberry.txt, food\fruits\blueberry.txt, food\fruits\apples\honeycrisp.txt, food\fruits\oranges\mandarin.txt, food\vegetables\carrot.txt
Crea un nuovo file python nella directory python-scripts:
mkdir src new-item src\list-directory-contents.py
Apri il progetto in VS Code immettendo
code .
Per aprire la finestra Esplora risorse di VS Code, premi CTRL+MAIUSC+E (oppure usa il menu per passare a Visualizza>Esplora risorse) e seleziona il file list-directory-contents.py appena creato. L'estensione Python Microsoft caricherà automaticamente un interprete Python. L'interprete caricato è indicato nella parte inferiore della finestra di VS Code.
Nota
Python è un linguaggio interpretato, vale a dire che funge da macchina virtuale, emulando un computer fisico. Esistono diversi tipi di interpreti Python che è possibile usare: Python 2, Python 3, Anaconda, PyPy, ecc. Per eseguire il codice Python e ottenere Python IntelliSense, è necessario indicare a VS Code l'interprete da usare. È consigliabile usare l'interprete scelto da VS Code per impostazione predefinita (in questo caso Python 3), a meno che tu non abbia un motivo specifico per sceglierne uno diverso. Per cambiare l'interprete Python, seleziona l'interprete attualmente visualizzato nella barra blu nella parte inferiore della finestra di VS Code oppure apri il riquadro comandi (CTRL+MAIUSC+P) e immetti il comando Python: seleziona Interprete. Verrà visualizzato un elenco degli interpreti Python attualmente installati. Altre informazioni sulla configurazione degli ambienti Python.
Incolla il codice seguente nel file list-directory-contents.py e quindi seleziona Salva:
import os root = os.path.join('..', 'food') for directory, subdir_list, file_list in os.walk(root): print('Directory:', directory) for name in subdir_list: print('Subdirectory:', name) for name in file_list: print('File:', name) print()
Apri il terminale integrato di VS Code (CTRL +`, usando il carattere di apice inverso) e accedi alla directory src in cui hai appena salvato lo script Python:
cd src
Per eseguire lo script in PowerShell, usa il comando:
python3 .\list-directory-contents.py
L'output visualizzato è simile al seguente:
Directory: ..\food Subdirectory: fruits Subdirectory: vegetables Directory: ..\food\fruits Subdirectory: apples Subdirectory: oranges File: banana.txt File: blueberry.txt File: strawberry.txt Directory: ..\food\fruits\apples File: honeycrisp.txt Directory: ..\food\fruits\oranges File: mandarin.txt Directory: ..\food\vegetables File: carrot.txt
Usa Python per stampare l'output relativo alla directory del file system nel relativo file di testo immettendo questo comando direttamente nel terminale di PowerShell:
python3 list-directory-contents.py > food-directory.txt
Congratulazioni. hai completato la creazione di uno script per l'amministrazione automatizzata dei sistemi che legge la directory e i file creati e usa Python per visualizzare e quindi stampare la struttura di directory nel relativo file di testo.
Nota
Se non si riesce a installare Python 3 dal Microsoft Store, vedere il problema per un esempio di come gestire il percorso per questo script di esempio.
Script di esempio per modificare di tutti i file di una directory
Per questo esempio si usano i file e le directory appena creati, anche se ognuno dei file viene rinominato aggiungendo la data dell'ultima modifica all'inizio del nome file.
All'interno della cartella src nella directory python-scripts crea un nuovo file Python per lo script:
new-item update-filenames.py
Apri il file update-filenames.py, incolla il codice seguente nel file e salvalo:
Nota
os.getmtime restituisce un timestamp in tick, che non è facilmente leggibile. Deve essere convertito prima in una stringa data/ora standard.
import datetime import os root = os.path.join('..', 'food') for directory, subdir_list, file_list in os.walk(root): for name in file_list: source_name = os.path.join(directory, name) timestamp = os.path.getmtime(source_name) modified_date = str(datetime.datetime.fromtimestamp(timestamp)).replace(':', '.') target_name = os.path.join(directory, f'{modified_date}_{name}') print(f'Renaming: {source_name} to: {target_name}') os.rename(source_name, target_name)
Per testare lo script update-filenames.py, esegui il comando
python3 update-filenames.py
. A questo punto, esegui di nuovo lo script list-directory-contents.py con il comandopython3 list-directory-contents.py
L'output visualizzato è simile al seguente:
Renaming: ..\food\fruits\banana.txt to: ..\food\fruits\2019-07-18 12.24.46.385185_banana.txt Renaming: ..\food\fruits\blueberry.txt to: ..\food\fruits\2019-07-18 12.24.46.391170_blueberry.txt Renaming: ..\food\fruits\strawberry.txt to: ..\food\fruits\2019-07-18 12.24.46.389174_strawberry.txt Renaming: ..\food\fruits\apples\honeycrisp.txt to: ..\food\fruits\apples\2019-07-18 12.24.46.395160_honeycrisp.txt Renaming: ..\food\fruits\oranges\mandarin.txt to: ..\food\fruits\oranges\2019-07-18 12.24.46.398151_mandarin.txt Renaming: ..\food\vegetables\carrot.txt to: ..\food\vegetables\2019-07-18 12.24.46.402496_carrot.txt PS C:\src\python-scripting\src> python3 .\list-directory-contents.py ..\food\ Directory: ..\food Subdirectory: fruits Subdirectory: vegetables Directory: ..\food\fruits Subdirectory: apples Subdirectory: oranges File: 2019-07-18 12.24.46.385185_banana.txt File: 2019-07-18 12.24.46.389174_strawberry.txt File: 2019-07-18 12.24.46.391170_blueberry.txt Directory: ..\food\fruits\apples File: 2019-07-18 12.24.46.395160_honeycrisp.txt Directory: ..\food\fruits\oranges File: 2019-07-18 12.24.46.398151_mandarin.txt Directory: ..\food\vegetables File: 2019-07-18 12.24.46.402496_carrot.txt
Usa Python per stampare i nuovi nomi della directory del file system con il timestamp last-modified aggiunto nel relativo file di testo immettendo questo comando direttamente nel terminale di PowerShell:
python3 list-directory-contents.py > food-directory-last-modified.txt
Ci auguriamo di averti illustrato alcuni aspetti interessanti sull'uso degli script Python per l'automazione delle attività di base di amministrazione dei sistemi. Naturalmente, l'argomento è molto più vasto, ma queste informazioni ti saranno utili per iniziare col piede giusto. Di seguito sono elencate alcune risorse aggiuntive che potrai consultare per approfondire l'argomento.
Risorse aggiuntive
- Python Docs: accesso a file e directory: documentazione di Python sull'uso dei file system e su come usare i moduli per leggere le proprietà dei file, manipolare i percorsi in modo portabile e creare file temporanei.
- Informazioni su Python: esercitazione su Formattazione_stringhe: ulteriori informazioni sull'uso dell'operatore "%" per la formattazione delle stringhe.
- 10 metodi del file system Python che è necessario conoscere: articolo medio sulla manipolazione di file e cartelle con
os
eshutil
. - Sezione della Hitchhikers Guide to Python: guida ragionata che offre panoramiche e procedure consigliate su argomenti correlati a Python. Questa sezione descrive gli strumenti e i framework per l'amministrazione di sistemi. Questa guida è ospitata in GitHub, di conseguenza puoi segnalare problemi e inviare contributi.