em Python, existem muitos módulos úteis. os e módulos shutil são dois desses módulos úteis. Hoje vamos aprender a diferença entre os So.mudar o nome e shutil.avançar para Python.
os.renomear vs shutil.mover em Python
Se você quiser saber entre estes dois módulos os e shutil, que módulo é melhor, então você está fazendo uma pergunta errada. Basicamente, ambos podem ser usados no programa Python. Mas você tem que determinar o que deve ser usado para que propósito.
em uma única frase, podemos dizer que shutil é consistindo de funções específicas em Python de alto nível. shutil está no topo do módulo os do Python. Assim, podemos usar o módulo shutil para operações de alto nível em arquivos.
Aqui está um exemplo para ambos os módulos,
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 o código acima, podemos mover um arquivo de um diretório para outro. Usamos ambos os módulos. (não tente usar ambos os módulos ao mesmo tempo, isto é apenas para mostrar ambos os módulos )
algumas diferenças básicas entre os So.mudar o nome e shutil.o módulo move
- OS pode não conseguir mover um ficheiro se a localização de origem e destino estiver em diferentes sistemas de ficheiros ou unidade.But shutil.o movimento não falhará neste tipo de casos.shutil.mover as verificações se o caminho de origem e destino estão no mesmo sistema de arquivos ou não. Mas os.mudar o nome não confere, por isso falha às vezes.
- Depois de verificar o caminho de origem e destino, se se descobrir que eles não estão no mesmo sistema de arquivos, shutil.mover irá copiar o arquivo primeiro para o destino. Então ele irá apagar o arquivo a partir do arquivo de origem. Assim podemos dizer shutil.mover é um método mais inteligente para mover um arquivo em Python quando o caminho de origem e destino não estão na mesma unidade ou sistema de arquivos.shutil.move funciona em funções de alto nível, enquanto os.mudar o nome funciona em funções de nível inferior.
Se você está interessado em mover um arquivo de um diretório para outro você pode ler este Python tutorial,
- Como mover um arquivo de um diretório para outro em Python
-
shawon diz:
no ponto 3 , “Depois de verificar o caminho de origem e destino, se se descobrir que eles não estão no mesmo sistema de arquivos, shutil.mover irá copiar o arquivo primeiro para o destino. Então ele irá apagar o arquivo do arquivo de destino. Assim podemos dizer shutil.mover é um método mais inteligente para mover um arquivo em Python quando o caminho de origem e destino não estão na mesma unidade ou sistema de arquivos.”
não deveria ser “Arquivo Fonte” instado de “arquivo de destino”?Saruque Ahamed Mollick diz: sim, obrigado! Já o actualizei.