programming

python으로 파일 복사 여러개 한번에 하기


by Kitle · 2021. 02. 03.



안녕하세요. 오늘은 python으로 대량의 테스트 더미 데이터를 만들어 보겠습니다.

정확히 더미 데이터는 아니고 하나의 파일을 대량으로 복사하는 방법입니다.

개발 및 테스트를 위해 대량의 테스트 데이터를 만들어야 하는 경우가 있는데 이 경우 사용하면 유용합니다.


파이썬 파일 복사 활용하기

정상적인 0.txt 파일이 있다고 가정합시다.

그리고 테스트를 위해 1.txt, 2.txt ... 300.txt 파일의 복사본을 만들고 싶습니다.

파일 복사하고 일일이 이름을 바꾸기엔 에너지가 너무 낭비되죠. 이럴 때 유용한 방식입니다.

import shutil

src = "C:/Users/kitle/0.txt"
dst = "C:/Users/kitle/"
dst_tail = ".txt"

for i in range(1, 301):
dst_i = dst + str(i) + dst_tail
shutil.copy2(src, dst_i)

shutil.copy2(원본파일위치및파일명, 복사할파일위치및파일명) 파일 복사 기능을 활용해 
요렇게 간단하게 사용하시면 됩니다.
파일 명 들어가는 부분을 i로 치환하여 1.txt, 2.txt ... 점점 증가하며 복사됩니다.

range를 활용해 숫자는 얼마든지 늘릴 수 있습니다. 실행하면 동일한 파일 복사본이 파일명을 자동으로 바꿔가면서 생성되면서 편리합니다.

윈도우 환경에서의 주의사항과 에러 처리

윈도우에서 파일 경로를 복사하면 보통 C:\Users\kitle\Desktop 식으로 복사 됩니다.

         ^

SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape


따라서 그대로 사용하게 되면 위와 같은 에러를 만나게 됩니다. \로 입력된 부분을 파이썬에서는 /로 변경 하여 사용하시면 해결 되겠습니다.