이것이 현재 사용중인 것입니다.
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
command에 익숙한 사람들을 위해 파이썬shutil.move
에는shutil.move
기능이 다른 한 가지 경우가 있습니다. 전체 쓰기를 위해 여기로 이동하십시오 . 간단히 말해서, 파이썬shutil.move
은mv
목적지가 디렉토리이고 디렉토리에 이미 소스와 이름이 같은 파일이있을 때 예외를 발생시킵니다 (그러나 gnu-coreutils 는 그렇지 않습니다) (더 자세한 정보는 이전 문장에서 제공된 링크를 참조하십시오) ).