Video Corso Base di Python 3

20: i Files: Come Copiarli, Spostarli, Rinominarli o Cancellarli

Benvenuti ragazzi a questa ventesima lezione!

Parleremo oggi di come sia possibile Copiare, Spostare, Rinominare o Cancellare qualsiasi tipo di File nei vostri programmi Python.

Anzitutto utilizzeremo delle funzioni presente nel modulo shutil, abbreviativo di Shell Utilities:

import shutil

Anzitutto vediamo un pó come possiamo copiare i file, supponiamo di voler copiare un file chiamato "1492.txt" da una cartella chiamata "lezione20", ad una sottocartella chiamata "storia".

Per fare questo usiamo la funzione copy di shutil:

shutil.copy("C:\\lezione20\\1492.txt", "C:\\lezione20\\storia")

Dobbiamo specificare due parametri, primo, il nome del file che vogliamo copiare con relativo percorso, e secondo la cartella di destinazione.

Supponiamo ora di voler spostare invece un file chiamato "napoleone.txt", dalla cartella "lezione20" alla sottocartella "storia". In questo caso usiamo la funzione move di shutil:

shutil.move("C:\\lezione20\\napoleone.txt", "C:\\lezione20\\storia")

Per poter rinominare oppure cancellare un file usiamo invece funzioni presenti nel modulo os:

import os

Supponiamo di avere, sempre nella cartella "lezione20", un file "cancellami.txt", possiamo fargli compiere il suo destino mediante la funzione unlink() di os. State attenti quando utilizzate unlink() perché si tratta di una funzione potentissima, il file verrà infatti permanentemente eliminato dal vostro hard disk:

os.unlink("C:\\lezione20\\cancellami.txt")

Ed ecco che il file è sparito! Volendo invece di unlink() potete utilizzare remove(), che è la stessa cosa!

Supponiamo inoltre di avere anche un file "rinominami.txt", e possiamo rinominarlo tramtite la funzione rename():

os.rename("C:\\lezione20\\rinominami.txt", "file_rinominato.txt")

Ricapitolando:

  • I Moduli os e shutil contengono le funzioni necessarie a lavorare coi file
  • shutil.copy() ci consente di copiare un file
  • shutil.move() ci consente di spostare un file
  • os.uplink() [oppure os.remove()] ci permette di eliminare un file in maniera definitiva
  • os.rename ci permette di rinominare un file

Menu della Serie