Differenza tra os.rinominare e shutil.sposta in Python

In Python, ci sono molti moduli utili. i moduli os e shutil sono due di questi moduli utili. Oggi impareremo la differenza tra os.rinominare e shutil.muoviti in Python.

sistema operativo.rinominare vs shutil.sposta in Python

Se vuoi sapere tra questi due moduli os e shutil, quale modulo è migliore, allora stai facendo una domanda sbagliata. Fondamentalmente, entrambi possono essere utilizzati nel programma Python. Ma devi determinare cosa dovrebbe essere usato in quale scopo.

In una singola frase, possiamo dire che shutil è costituito da funzioni specifiche di Python di alto livello. shutil è in cima al modulo os di Python. Pertanto, possiamo utilizzare il modulo shutil per operazioni di alto livello sui file.

Ecco un esempio per entrambi i moduli,

import shutilimport osshutil.move("M://source/folder/file.txt", "M://destination/folder/file.txt") # using shutil.moveos.rename("M://source/folder/file.txt", "M://destination/folder/file.txt") # using os.rename

Usando il codice sopra possiamo spostare un file da una directory all’altra. Abbiamo utilizzato entrambi i moduli. ( non provare a utilizzare entrambi i moduli contemporaneamente, questo è solo per mostrare entrambi i moduli )

Alcune differenze di base tra il sistema operativo.rinominare e shutil.move

  1. Il modulo OS potrebbe non riuscire a spostare un file se il percorso di origine e di destinazione si trova su file system o unità diversi.
    Ma shutil.mossa non mancherà in questo tipo di casi.
  2. shutil.sposta controlla se il percorso di origine e di destinazione si trovano sullo stesso file system o meno. Ma os.rinominare non controlla, quindi a volte fallisce.
  3. Dopo aver controllato il percorso di origine e di destinazione, se si scopre che non sono nello stesso file system, shutil.sposta copierà il file prima nella destinazione. Quindi eliminerà il file dal file sorgente. Quindi possiamo dire shutil.move è un metodo più intelligente per spostare un file in Python quando il percorso di origine e di destinazione non si trovano sulla stessa unità o file system.
  4. shutil.move funziona su funzioni di alto livello, mentre il sistema operativo.rinomina funziona su funzioni di livello inferiore.

Se siete interessati a spostare un file da una directory all’altra si può leggere questo Python tutorial,

  • Come spostare un file da una directory all’altra in Python
  1. shawon dice:

    Nel punto 3 , “Dopo aver controllato il percorso di origine e di destinazione, se si scopre che non sono nello stesso file system, shutil.sposta copierà il file prima nella destinazione. Quindi eliminerà il file dal file di DESTINAZIONE. Quindi possiamo dire shutil.move è un metodo più intelligente per spostare un file in Python quando il percorso di origine e di destinazione non si trovano sulla stessa unità o file system.”
    Non dovrebbe essere ” file sorgente “invece di” file di destinazione”?

    • Saruque Ahamed Mollick dice:

      Sì Grazie! L’ho aggiornato.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *