English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
In questo articolo, imparerai a gestire file e directory in Python, ovvero creare una directory, rinominarla, elencare tutte le directory e utilizzarle.
Se il tuo programma Pythonda trattaremoltefilepuoi disporre di codice in directory diverse per rendere le cose più gestibili.
Le directory o le cartelle sono una raccolta di file e sottodirectory. Python ha l'os moduloche ci fornisce molte utili funzioni per la gestione delle directory (e dei file).
Possiamo ottenere la directory di lavoro corrente utilizzando il metodo getcwd().
Questo metodo restituisce la directory di lavoro corrente come stringa. Possiamo anche ottenerla come oggetto byte utilizzando il metodo getcwdb().
>>> import os >>> os.getcwd() 'C:\\Program Files\\PyScripter' >>> os.getcwdb() b'C:\\Program Files\\PyScripter'
I backslash aggiuntivi rappresentano la sequenza di escape. La funzione print() la presenterà correttamente.
>>> print(os.getcwd()) C:\Program Files\PyScripter
Possiamo utilizzare il metodo chdir() per cambiare la directory di lavoro corrente.
Il percorso che dobbiamo cambiare deve essere fornito come stringa a questo metodo. Possiamo utilizzare la barra obliqua (/) o il backslash (\) per separare i percorsi.
È più sicuro utilizzare la sequenza di escape quando si utilizzano backslash.
>>> os.chdir('C:\\Python33') >>> print(os.getcwd()) C:\Python33
Puoi sapere tutti i file e le sottocartelle nella directory utilizzando il metodo listdir().
Questo metodo accetta un percorso e restituisce l'elenco delle sottocartelle e dei file nel percorso. Se non viene specificato un percorso, restituirà l'elenco delle sottocartelle e dei file della directory di lavoro corrente.
>>> print(os.getcwd()) C:\Python33 >>> os.listdir() ['DLLs', 'Doc', 'include', 'Lib', 'libs', 'LICENSE.txt', 'NEWS.txt', 'python.exe' 'pythonw.exe', 'README.txt', 'Scripts', 'tcl', 'Tools' >>> os.listdir('G:\\') ['$RECYCLE.BIN', 'Movies', 'Music', 'Photos', 'Series', 'System Volume Information'
Possiamo utilizzare il metodo mkdir() per creare una nuova directory.
Questo metodo accetta il percorso della nuova directory. Se non viene specificato un percorso completo, verrà creata una nuova directory nel percorso di lavoro corrente.
>>> os.mkdir('test') >>> os.listdir() ['test']
Il metodo rename() può rinominare directory o file.
Il primo parametro è il nome vecchio, mentre il nuovo nome deve essere il secondo parametro.
>>> os.listdir() ['test'] >>> os.rename('test','new_one') >>> os.listdir() ['new_one']
Utilizzando il metodo remove() è possibile eliminare (eliminare) file.
Allo stesso modo, il metodo rmdir() eliminerà una directory vuota.
>>> os.listdir() ['new_one', 'old.txt'] >>> os.remove('old.txt') >>> os.listdir() ['new_one'] >>> os.rmdir('new_one') >>> os.listdir() []
Tuttavia, noterai che il metodo rmdir() può solo eliminare directory vuote.
Per eliminare una directory non vuota, possiamo utilizzare il metodo rmtree() interno del modulo shutil.
>>> os.listdir() ['test'] >>> os.rmdir('test') Traceback (chiamata più recente per ultima): ... OSError: [WinError 145] La directory non è vuota: 'test' >>> import shutil >>> shutil.rmtree('test') >>> os.listdir() []