이전 포스팅([Language/Python] - Python shutil copytree 사용 파일 복사)에서는 shutil을 이용하여

경로 중간의 폴더가 없더라도 생성해가며 해당 경로로 파일을 복사하는 방법이었습니다.


이번 방법은 파일 복사가 아닌 중간 경로의 폴더가 존재하지 않더라도 생성해가면서 경로를 완성하는 방법입니다.

예를 들어 os.mkdir로 C:\test\test1\test2\test3라는 경로가 필요한데 test1, test2라는 중간 경로의 폴더가 없다면, 

'WindowsError: [Error 3] : '경로''에러가 발생합니다.



이 경우 os.makedirs()를 사용한다면, 경로를 따라가면서 폴더를 생성하게 됩니다.


사용 라이브러리 : os > makedirs


import os


os.makedirs("C:\\test\\test1\\test2")



저작자 표시 비영리 변경 금지
신고
  1. 2016.06.13 09:29

    비밀댓글입니다



가끔 파일 복사를 해야할 때 C:\test에 있는 모든 파일을 D:\copy\copy1\copy2로 옮기고 싶은데 \copy\copy1\copy2의 경로가 없을 때가 있습니다.

즉, 폴더가 없다면 생성해가면서 지정된 위치로 파일을 복사하는 방법입니다.


사용 라이브러리 : shutil > copytree


import shutil


shutil.copytree(src, dst, symlink=False, ignore=None)


예제 :


import shutil


shutil.copytree('C:\\srcfolder', 'D:\\dstfolder\\folder1\\folder2\\folder3')


결과 :


텍스트로 출력되는 결과가 아니라 제대로 보여드리긴 어렵지만 위 처럼 folder1,2,3이 순차적으로 생성되고,

c:\srcfolder에 있는 파일들이 모두 복사가 됩니다.


주의할 점은 폴더 경로 작성 시 백슬래시(\) 한 개가 아닌 2개(\\)를 써줘야 경로를 제대로 인식합니다.

저작자 표시 비영리 변경 금지
신고

+ Recent posts

티스토리 툴바