Saltar al contenido

¿Cómo mover un archivo en Python?

septiembre 29, 2021
apple touch icon@2

Esto es lo que estoy usando en este momento:

import os, shutil
path = "/volume1/Users/Transfer/"
moveto = "/volume1/Users/Drive_Transfer/"
files = os.listdir(path)
files.sort()
for f in files:
    src = path+f
    dst = moveto+f
    shutil.move(src,dst)

Ahora completamente funcional. Espero que esto te ayude.

Editar:

Convertí esto en una función, que acepta un directorio de origen y destino, crea la carpeta de destino si no existe y mueve los archivos. También permite el filtrado de los archivos src, por ejemplo, si solo desea mover imágenes, entonces usa el patrón '*.jpg', por defecto, mueve todo en el directorio

import os, shutil, pathlib, fnmatch

def move_dir(src: str, dst: str, pattern: str="*"):
    if not os.path.isdir(dst):
        pathlib.Path(dst).mkdir(parents=True, exist_ok=True)
    for f in fnmatch.filter(os.listdir(src), pattern):
        shutil.move(os.path.join(src, f), os.path.join(dst, f))
close