파이썬

[python] 파일을 복사하는 방법?

zooheon 2022. 8. 21. 22:59
반응형

파이썬에서 파일을 어떻게 복사합니까?

 

shutil사용할 수있는 많은 방법이 있습니다. 그 중 하나는 다음과 같습니다.

import shutil

shutil.copyfile(src, dst)

# 2nd option
shutil.copy(src, dst)  # dst can be a folder; use shutil.copy2() to preserve timestamp
  • 라는 파일의 내용을 라는 파일에 복사 src합니다 dst. 둘 다 src경로 dst를 포함하여 파일의 전체 파일 이름이어야 합니다.
  • 대상 위치는 쓰기 가능해야 합니다. 그렇지 않으면 IOError예외가 발생합니다.
  • 이미 존재하는 경우 dst대체됩니다.
  • 캐릭터나 블록 디바이스, 파이프와 같은 특수 파일은 이 기능으로 복사할 수 없습니다.
  • , s copy로 지정된 경로 이름입니다.srcdststr

shutil살펴볼 또 다른 방법은 입니다 shutil.copy2(). 비슷하지만 더 많은 메타데이터(예: 타임스탬프)를 보존합니다.

os.path연산을 사용 하는 경우 copy대신 copyfile. copyfile문자열만 허용합니다.

 

기능
메타데이터 복사

권한 복사
파일 객체 사용 대상
은 디렉토리일 수 있습니다.
셧틸.카피 아니 아니
셧틸.카피파일 아니 아니 아니 아니
셧틸.카피2 아니
셧틸.카피파일오브제이 아니 아니 아니

 

copy2(src,dst)copyfile(src,dst)다음과 같은 이유 보다 종종 더 유용합니다 .

  • 디렉토리dst 가 될 수 있습니다 ( 전체 대상 파일 이름 대신). 이 경우 기본 이름새 파일을 만드는 데 사용됩니다.src
  • 파일 메타데이터의 원래 수정 및 액세스 정보(mtime 및 atime)를 유지합니다(그러나 약간의 오버헤드가 있음).

다음은 간단한 예입니다.

import shutil
shutil.copy2('/src/dir/file.ext', '/dst/dir/newname.ext') # complete target filename given
shutil.copy2('/src/file.ext', '/dst/dir') # target filename is /dst/dir/file.ext

 

반응형