Gestione File in Python
Obiettivi della pillola
Alla fine di questa pillola saprai:
- controllare se un file esiste;
- ricavare nome, estensione e dimensione di un file;
- rinominare, copiare e cancellare file;
- usare i moduli
os,shutilepathlibper lavorare con i file in Python.
Lavorare con i file in Python
In Python possiamo interagire facilmente con i file: non solo leggerli e scriverli, ma anche verificare se esistono, analizzarne il nome, l’estensione e le dimensioni. Queste operazioni si fanno principalmente con i moduli os, shutil e pathlib.
Verificare se un file esiste
Con os:
import os
if os.path.exists("dati.txt"):
print("Il file esiste")
else:
print("Il file non esiste")
Con pathlib:
from pathlib import Path
file = Path("dati.txt")
if file.exists():
print("Il file esiste")
Separare nome ed estensione
Con os:
import os
nome, estensione = os.path.splitext("relazione.docx")
print("Nome:", nome) # relazione
print("Estensione:", estensione) # .docx
Con pathlib:
file = Path("relazione.docx")
print(file.stem) # relazione
print(file.suffix) # .docx
Ottenere la dimensione di un file
Con os:
import os
dimensione = os.path.getsize("relazione.docx")
print("Dimensione:", dimensione, "byte")
Con pathlib:
file = Path("relazione.docx")
print("Dimensione:", file.stat().st_size, "byte")
Rinominare, copiare e cancellare file
Per gestire i file possiamo utilizzare le funzioni di os e shutil.
Rinominare un file:
import os
os.rename("vecchio.txt", "nuovo.txt")
Copiare un file:
import shutil
shutil.copy("dati.txt", "backup_dati.txt")
Cancellare un file:
import os
os.remove("vecchio.txt")
Con pathlib le stesse operazioni diventano molto leggibili:
file = Path("dati.txt")
# rinominare
file.rename("nuovo_nome.txt")
# copiare
import shutil
shutil.copy(file, "copia.txt")
# cancellare
file.unlink()
In sintesi
os.pathepathlibpermettono di lavorare con i file.- Possiamo controllare l’esistenza, ottenere estensione, nome e dimensione.
- Con
oseshutilpossiamo rinominare, copiare e cancellare file. pathliboffre un approccio piΓΉ moderno e leggibile.
EC