Inilah yang saya gunakan saat ini:
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)
Sekarang berfungsi penuh. Semoga ini bisa membantu Anda.
Edit:
Saya telah mengubah ini menjadi fungsi, yang menerima direktori sumber dan tujuan, membuat folder tujuan jika tidak ada, dan memindahkan file. Juga memungkinkan untuk memfilter file src, misalnya jika Anda hanya ingin memindahkan gambar, maka Anda menggunakan pola '*.jpg'
, secara default, itu akan memindahkan semua yang ada di direktori
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
memiliki satu sisi kasus di manashutil.move
fungsinya berbeda. Buka di sini untuk menulis lengkap . Singkatnya, Pythonshutil.move
akan memunculkan pengecualian (tetapi gnu-coreutilsmv
tidak akan) ketika tujuan Anda adalah direktori dan direktori sudah memiliki file dengan nama yang sama dengan sumber (sekali lagi untuk info lebih lanjut lihat tautan yang disediakan dalam kalimat sebelumnya ).