i Python finns det många användbara moduler. os och shutil moduler är två av dessa användbara moduler. Idag ska vi lära oss skillnaden mellan os.Byt namn och shutil.flytta i Python.
os.Byt namn mot shutil.flytta i Python
Om du vill veta bland dessa två moduler os och shutil, vilken modul är bättre, frågar du en fel fråga. I grund och botten kan båda användas i Python-programmet. Men du måste bestämma vad som ska användas i vilket syfte.
i en enda mening kan vi säga att shutil består av Python-specifika funktioner på hög nivå. shutil är ovanpå Pythons os-modul. Således kan vi använda shutil-modulen för operationer på hög nivå på filer.
Här är ett exempel för båda modulerna,
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
med ovanstående kod kan vi flytta en fil från en katalog till en annan. Vi har använt båda modulerna. (försök inte använda båda modulerna samtidigt, det här är bara för att visa dig båda modulerna )
några grundläggande skillnader mellan os.Byt namn och shutil.flytta
- OS-modulen kan misslyckas med att flytta en fil om käll-och destinationsvägen finns på olika filsystem eller enheter.
men shutil.flytta kommer inte att misslyckas i denna typ av fall. - shutil.flytta kontrollerar om käll-och destinationsvägen finns på samma filsystem eller inte. Men os.Byt namn kontrollerar inte, så det misslyckas ibland.
- efter att ha kontrollerat käll-och destinationsvägen, om det visar sig att de inte finns i samma filsystem, shutil.flytta kopierar filen först till destinationen. Då kommer det att ta bort filen från källfilen. Således kan vi säga shutil.move är en smartare metod för att flytta en fil i Python när käll-och destinationsvägen inte finns på samma enhet eller filsystem.
- shutil.move fungerar på hög nivå funktioner, medan os.Byt namn på funktioner på lägre nivå.
om du är intresserad av att flytta en fil från en katalog till en annan kan du läsa denna Python handledning,
- hur man flyttar en fil från en katalog till en annan i Python
-
shawon säger:
i punkt 3, ” Efter att ha kontrollerat käll-och destinationsvägen, om det visar sig att de inte finns i samma filsystem, shutil.flytta kopierar filen först till destinationen. Då kommer det att ta bort filen från destinationsfilen. Således kan vi säga shutil.move är en smartare metod för att flytta en fil i Python när käll-och destinationsvägen inte finns på samma enhet eller filsystem.”
borde det inte vara ”källfil” i stället för ”destinationsfil” ?-
Saruque Ahamed Mollick säger:
Ja tack! Jag har uppdaterat det.
-