Sposta i file da una directory all'altra usando Python

Lakshay Kapoor 30 gennaio 2023
  1. Usa la funzione shutil.move() per spostare i file in Python
  2. Usa le funzioni os.rename() o os.replace() per spostare file in Python
  3. Usa il modulo pathlib per spostare i file in Python
Sposta i file da una directory all'altra usando Python

Spostare file da una directory a un’altra può sembrare non così importante, ma a volte aiuta molto nella manipolazione dei file.

Questo tutorial introdurrà alcuni modi per spostare i file da una directory a un’altra in Python.

Usa la funzione shutil.move() per spostare i file in Python

Il modulo shutil è un modulo Python che aiuta nelle manipolazioni di alto livello sui file o su un insieme di file. Questo modulo entra in gioco in operazioni come la copia di un file da qualche parte o la rimozione di un file.

Per spostare un file da una directory a un’altra directory con l’aiuto del modulo shutil, viene chiamato shutil.move().

Esempio:

import shutil
import os

file_source = "Path/Of/Directory"
file_destination = "Path/Of/Directory"

get_files = os.listdir(file_source)

for g in get_files:
    shutil.move(file_source + g, file_destination)

Qui, la funzione listdir() viene utilizzata dal modulo os, che viene utilizzato per ottenere la lista completo di tutti i file presenti nella directory. Usiamo un cicli for per spostare il file e notiamo che la funzione move() del modulo shutil viene utilizzata per trasferire i file da una directory all’altra.

Usa le funzioni os.rename() o os.replace() per spostare file in Python

Molte volte, l’utente deve connettersi al sistema principale tramite Python. In questo caso entra in gioco il modulo os. Il modulo os funge fondamentalmente da mediatore tra l’utente e il sistema operativo del computer in modo che l’utente possa connettersi correttamente con il sistema operativo.

Una delle funzioni di questo modulo è il modulo rename() utilizzato per spostare i file da una posizione all’altra. Questa funzione sposta i file rinominando il nome della directory di quei file.

Un’altra funzione di questo modulo è la funzione replace(). Questa funzione aiuta a rinominare il file o la directory corrente. La destinazione deve essere un file e non una directory. Quindi, se la destinazione è un file, verrà sostituito senza errori.

In conclusione, quando la destinazione finale del file si trova nello stesso disco da cui proviene, viene utilizzata la funzione rename(). E se la destinazione del file deve essere cambiata, allora deve essere usato replace().

Esempio:

import os

file_source = "Path/Of/Directory"
file_destination = "Path/Of/Directory"

get_files = os.listdir(file_source)

for g in get_files:
    os.replace(file_source + g, file_destination + g)

Anche qui, seguiamo la stessa procedura definendo prima i percorsi delle directory iniziale e finale. Quindi usiamo la funzione listdir() per ottenere la lista di tutti i file nella directory corrente. Successivamente, utilizziamo un cicli for per sovrascrivere la destinazione di quei file.

Usa il modulo pathlib per spostare i file in Python

Il modulo pathlib in Python è un modulo standard utilizzato per fornire un oggetto utilizzato per manipolare diversi file e dizionari. L’oggetto principale per lavorare con i file si chiama Path.

Esempio:

from pathlib import Path
import shutil
import os

file_source = "Path/Of/Directory"
file_destination = "Path/Of/Directory"

for file in Path(file_source).glob("randomfile.txt"):
    shutil.move(os.path.join(file_source, file), file_destination)
Lakshay Kapoor avatar Lakshay Kapoor avatar

Lakshay Kapoor is a final year B.Tech Computer Science student at Amity University Noida. He is familiar with programming languages and their real-world applications (Python/R/C++). Deeply interested in the area of Data Sciences and Machine Learning.

LinkedIn

Articolo correlato - Python File

Articolo correlato - Python Dictionary