shutil : 고수준 파일 연산
shutil
- shutil: 고수준 파일 연산
copyfile
, copy
, copy2
함수는 기본적인 사용법은 아래와 같다.
copyfile
, copy
: 메타 정보는 복사되지 않는다.
- 즉, 작성한 날짜=복사한 날짜로 변경된다.
copy2
: 메타정보도 복사
- 즉, 파일 작성한 날짜등 정보도 복사
copyfileobj
import shutil
shutil.copyfileobj(fsrc, fdst[, length])
- 파일류 객체
fsrc
의 내용을 파일류 객체 fdst
에 복사한다. length
는 버퍼 크기이다.
copytree
import shutil
shutil.copytree(src, dst, symlinks=False, ignore=None, copy_function=copy2, \
ignore_dangling_symlinks=False, dirs_exist_ok=False)
src
를 루트로 하는 전체 디렉토리 트리를 dst
라는 디렉토리에 재귀적으로 복사하고 대상 디렉토리를 반환한다.
- 디렉토리의 권한과 시간은
copystat()
으로 복사되고, 개별 파일은 copy2()
를 사용하여 복사된다.
copyfile
, copy
, copy2
함수는 기본적인 사용법은 아래와 같다.copyfile
,copy
: 메타 정보는 복사되지 않는다.- 즉, 작성한 날짜=복사한 날짜로 변경된다.
copy2
: 메타정보도 복사- 즉, 파일 작성한 날짜등 정보도 복사
import shutil
shutil.copyfileobj(fsrc, fdst[, length])
fsrc
의 내용을 파일류 객체 fdst
에 복사한다. length
는 버퍼 크기이다.import shutil
shutil.copytree(src, dst, symlinks=False, ignore=None, copy_function=copy2, \
ignore_dangling_symlinks=False, dirs_exist_ok=False)
src
를 루트로 하는 전체 디렉토리 트리를 dst
라는 디렉토리에 재귀적으로 복사하고 대상 디렉토리를 반환한다.- 디렉토리의 권한과 시간은
copystat()
으로 복사되고, 개별 파일은copy2()
를 사용하여 복사된다.
argument | description |
---|---|
src | src |
dst | dst |
symlinks=False | True : 소스 트리의 심볼릭 링크가 새 트리에서 심볼릭 링크로 표시되고, 플랫폼이 허용하는 한 원래 링크의 메타데이터가 복사된다. 거짓이거나 생략되면, 링크된 파일의 내용가 메타 데이터가 새 트리에 복사된다.False 이면, 심볼릭 링크가 가리키는 파일이 존재하지 않으면, 복사 과정 종료 시 발생하는 Errror 예외의 에러리스트에 예외가 추가된다. 이 예외를 침묵 시키려면 선택적 ignore_dangling_symlinks 플래그를 참으로 설정할 수 있다. |
dirs_exist_ok | dst or 누락된 부모 디렉토리가 이미 존재할 때 예외를 발생시킬지를 나타낸다. |
ignore=None | ignore 가 주어지면, copytree() 가 방문하는 디렉토리와 os.listdir()가 반환한 이 디렉토리 내용의 리스트를 인자로 수신하는 callable이어야한다. copytree()는 재귀적으로 호출되기 때문에, 디렉토리마다 ignore 콜러블이 한 번 호출된다. callable은 현재 디렉토리에 상대적인 디렉토리와 파일 이름의 시퀀스를 반환해야 한다. (즉, 두 번 째 인자에 있는 항목의 부분집합); 이 이름들은 복사 과정에서 무시된다. ignore_patterns()를 사용하여, glob 스타일 패턴을 기반으로 이름을 무시하는 callable를 만들 수 있다. |
copy_function | copy_function 이 제공되면, 각 파일을 복사하는 데 사용되는 callable 이어야한다. 소스 경로와 대상 경로를 인자로 호출된다. 기본적으로 copy2()가 사용되지만, 같은 서명을 지원하는 (copy()와 같은) 모든 함수를 사용할 수 있다.인자 src, dst로 Raise an auditing event and trigger any active auditing hooks shutil.copytree 를 발생시킨다. |
symlinks=False
sym link걸린 것을 real 원본 복사
- disk usage가 많아짐
symlinks=True
sym link 그대로 둠, 따라서 상대경로로 된 심볼릭 링크는 깨짐
Author And Source
이 문제에 관하여(shutil : 고수준 파일 연산), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@markyang92/shutil저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)