Это то, что я использую в данный момент:
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)
Теперь полностью функциональный. Надеюсь, это поможет вам.
Редактировать:
Я превратил это в функцию, которая принимает каталог источника и назначения, создает папку назначения, если она не существует, и перемещает файлы. Также позволяет фильтровать файлы src, например, если вы хотите только перемещать изображения, то вы используете шаблон '*.jpg'
, по умолчанию он перемещает все в каталоге
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))
mv
, в pythonshutil.move
есть один крайний случай, когдаshutil.move
функция отличается. Иди сюда для полной записи . В двух словах, Pythonshutil.move
будет вызывать исключение (но gnu-coreutilsmv
не будет), когда вашим местом назначения является каталог, а в каталоге уже есть файл с тем же именем, что и у источника (опять же, для получения дополнительной информации см. Ссылку, приведенную в предыдущем предложении). ).