티스토리 뷰

개발/파이썬

파일을 복사하는 방법

맨날치킨 2022. 12. 1. 10:05
반응형

Stack Overflow에 자주 검색, 등록되는 문제들과 제가 개발 중 찾아 본 문제들 중에서 나중에도 찾아 볼 것 같은 문제들을 정리하고 있습니다.

Stack Overflow에서 가장 먼저 확인하게 되는 가장 높은 점수를 받은 Solution과 현 시점에 도움이 될 수 있는 가장 최근에 업데이트(최소 점수 확보)된 Solution을 각각 정리하였습니다.

 

아래 word cloud를 통해 이번 포스팅의 주요 키워드를 미리 확인하세요.

How to copy files?

파일을 복사하는 방법

 문제 내용 

How do I copy a file in Python?

파이썬에서 파일을 복사하려면 어떻게 해야 합니까?

 

 

 

 높은 점수를 받은 Solution 

shutil has many methods you can use. One of which is:

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

 

import shutil

shutil.copyfile(src, dst)

# 2nd option
shutil.copy(src, dst)  # dst can be a folder; use shutil.copy2() to preserve timestamp
  • Copy the contents of the file named src to a file named dst. Both src and dst need to be the entire filename of the files, including path.
  • The destination location must be writable; otherwise, an IOError exception will be raised.
  • If dst already exists, it will be replaced.
  • Special files such as character or block devices and pipes cannot be copied with this function.
  • With copy, src and dst are path names given as strs.
src라는 파일의 내용을 dst라는 파일로 복사합니다. src와 dst 모두 경로를 포함한 파일의 전체 파일 이름이어야 합니다. 대상 위치는 쓰기 가능해야 합니다. 그렇지 않으면 IO 오류 예외가 발생합니다.
dst가 이미 존재하면 교체됩니다.
문자나 블록 장치 및 파이프와 같은 특수 파일은 이 기능으로 복사할 수 없습니다.
copy의 경우 src와 dst는 strs로 지정된 경로 이름입니다.

 

Another shutil method to look at is shutil.copy2(). It's similar but preserves more metadata (e.g. time stamps).

다른 shutil 메서드는 shutil.copy2()입니다. 유사하지만 더 많은 메타데이터(예: 타임스탬프)를 보존합니다.

 

If you use os.path operations, use copy rather than copyfile. copyfile will only accept strings.

os.path 작업을 사용하는 경우 copyfile 대신 copy를 사용합니다. copyfile은 문자열만 허용합니다.

 

 

 

 가장 최근 달린 Solution 

shutil module offers some high-level operations on files. It supports file copying and removal.

shutil 모듈은 파일에 대한 몇 가지 높은 수준의 작업을 제공합니다. 파일 복사 및 제거를 지원합니다.

 

Refer to the table below for your use case.

사용 사례는 아래 표를 참조하십시오.
Function Utilize
File Object
Preserve File
Metadata
Preserve
Permissions
Supports
Directory Dest.
shutil.copyfileobj
shutil.copyfile
shutil.copy2
shutil.copy

 

 

 

출처 : https://stackoverflow.com/questions/123198/how-to-copy-files

반응형
댓글
공지사항
최근에 올라온 글