파이썬 표준 라이브러리의 사용 예를 설명의 또 shutil

십시오 : HTTPS : //www.jb51.net/article/145522.htm

또 shutil 모듈, 파일 및 징수, 특히에 고급 작업을 제공합니다 지원 파일 복사를 제공하고 기능을 삭제합니다.

폴더 및 파일 작업

copyfileobj (FSRC, fdst, 길이는 1024 * 16 =) : FSRC 파일 fdst하는 파일의 내용을 복사 길이 FSRC 길이가 버퍼 크기로 사용될 때마다 읽어

  • fsrc : 소스
  • fdst : fdst에 파일을 복사
  • 길이 버퍼 크기, 즉 각각의 길이 fsrc 읽기
?
1
4
import shutil
f1 = open ( "file.txt" , "r" )
f2 = open ( "file_copy.txt" , "a+" )
shutil.copyfileobj(f1,f2,length = 1024 )

CopyFile 수 (SRC, DST) : DST를 제기 할 src 파일의 내용을 복사

  • SRC : 소스 파일 경로
  • DST :;가 포함 될 경우 파일이, DST 존재하지 않는 DST가 문서를 생성 할 경우 DST 파일에 복사
  • follow_symlinks : SRC는 파일 복사와 같은 부드러운 연결이있는 경우 True로 설정은, false로 설정하면, 부드러운 연결을 복사합니다. 기본값은 True입니다. Python3 새 매개 변수
?
1
import shutil
shutil.copyfile( "file.txt" , "file_copy.txt" )

CopyMode를 (SRC, DST) : DST 파일 권한에 src 파일을 복사합니다. 파일 내용, 소유자와 그룹은 영향을받지 않습니다

  • SRC : 소스 파일 경로
  • DST : DST 권한, DST 경로가 실제 경로이어야하며, 파일이 존재해야하며, 파일을 복사하는, 그렇지 않으면 파일을 찾을 수 없음 오류를보고합니다
  • follow_symlinks이 : 일반 파일 복사 권한으로 다음, false true로 설정된 경우, SRC로 설정하면, DST 모두 부드러운 연결하고, 유연한 연결 권한은 복사 할 수 있습니다. 기본값은 True입니다. Python3 새 매개 변수
?
1
import shutil
shutil.copymode( "file.txt" , "file_copy.txt" )

copystat (SRC, DST) : 권한, 마지막 액세스 시간, 마지막 수정 시간, DST에 서명 복사 SRC. 파일 내용, 소유자와 그룹은 영향을받지 않습니다

  • SRC : 소스 파일 경로
  • DST : DST 권한, DST 경로가 실제 경로이어야하며, 파일이 존재해야하며, 파일을 복사하는, 그렇지 않으면 파일을 찾을 수 없음 오류를보고합니다
  • follow_symlinks : 거짓, SRC로 설정하면, DST 모두 부드러운 연결, 유연한 연결을 복사 할 수있는 권한, 마지막 액세스 시간을, 그리고 시간이 일반 파일 복사 권한으로 다음 True로 설정하면 SRC의 표시가 마지막으로 수정됩니다. 기본값은 True입니다. Python3 새 매개 변수
?
1
import shutil
shutil.copystat( "file.txt" , "file_copy.txt" )

복사 (SRC, DST) : DST에 src 파일을 복사합니다. DST는 파일이 디렉토리에 존재하는 경우, src 디렉토리에 같은 이름의 파일을 생성, 디렉토리가 될 수 있고, 오류가 이미 같은 이름의 파일하라는 메시지가 표시됩니다. 권한이 함께 복사됩니다. 본질적으로 그것은 CopyFile 수 및 CopyMode를 촉구했다

  • SRC : 소스 파일 경로
  • DST : 폴더 또는 파일에 DST 사본
  • follow_symlinks이 : 일반 파일 복사 권한으로 다음, false true로 설정된 경우, SRC로 설정하면, DST 모두 부드러운 연결하고, 유연한 연결 권한은 복사 할 수 있습니다. 기본값은 True입니다. Python3 새 매개 변수
?
1
4
improt shutil,os
shutil.copy( "file.txt" , "file_copy.txt" )
# 或者
shutil.copy( "file.txt" ,os.path.join(os.getcwd(), "copy" ))

COPY2 (SRC, DST) : DST에 src 파일을 복사합니다. DST는 파일이 디렉토리에 존재하는 경우, src 디렉토리에 같은 이름의 파일을 생성, 디렉토리가 될 수 있고, 오류가 이미 같은 이름의 파일하라는 메시지가 표시됩니다. 권한, 마지막 액세스 시간, 마지막 수정 시간 및 SRC 플래그는 DST에 복사됩니다. 기본적으로는 CopyFile 수 및 copystat 방법을 불렀다

  • SRC : 소스 파일 경로
  • DST : 폴더 또는 파일에 DST 사본
  • follow_symlinks : 거짓, SRC로 설정하면, DST 모두 부드러운 연결, 유연한 연결을 복사 할 수있는 권한, 마지막 액세스 시간을, 그리고 시간이 일반 파일 복사 권한으로 다음 True로 설정하면 SRC의 표시가 마지막으로 수정됩니다. 기본값은 True입니다. Python3 새 매개 변수
?
1
4
improt shutil,os
shutil.copy2( "file.txt" , "file_copy.txt" )
# 或者
shutil.copy2( "file.txt" ,os.path.join(os.getcwd(), "copy" ))

ignore_patterns (* 패턴) : 피팅에 대한 재정의 모드 copytree()방법은 파일 전송이 무시되고 복사되지 않습니다

  • 패턴 파일 이름, 튜플

copytree (SRC, DST, 심볼릭 링크 = 거짓의 = 없음을 무시할) : 문서 트리의 복사, src 폴더는 폴더 DST의 모든 내용을 복사 할 수

  • SRC : 소스 폴더
  • DST : DST 복사, 폴더가 자동으로 생성됩니다, 폴더이 폴더가 존재하지 않음을 확인하기 위해, 그렇지 않으면 오류
  • 심볼릭 링크 : 부드러운 연결, 진정한 사본 부드러운 연결, 복사 할 수 없습니다 거짓, 복사 할 파일에 대한 소프트 링크, false 기본값을 복사 할 수 있는지 여부
  • 무시 : 패턴을 무시, 전달 될 수 있습니다ignore_patterns()
  • copy_function : 파일을 복사는, 그것이 실행 핸들러에 전달 될 수 기본값은 COPY2, 새 매개 변수 Python3입니다
  • ignore_dangling_symlinks : sysmlinks False로 설정하면 부드러운 연결로 삭제 된 파일 포인트의 사본이 제공 될 때이 예외를 제거하려는 경우, 당신은 True로 값을 설정할 수 있습니다. 기본값은 거짓, Python3 새 매개 변수입니다
?
1
4
5
6
import shutil,os
folder1 = os.path.join(os.getcwd(), "aaa" )
# bbb与ccc文件夹都可以不存在,会自动创建
folder2 = os.path.join(os.getcwd(), "bbb" , "ccc" )
# 将"abc.txt","bcd.txt"忽略,不复制
shutil.copytree(folder1,folder2,ignore = shutil.ignore_patterns( "abc.txt" , "bcd.txt" )

rmtree (경로, ignore_errors = 거짓,의 OnError = 없음) : 문서 트리를 제거 폴더 디렉토리를 삭제

  • ignore_errors는 : 오류를 무시할지 여부를, 거짓 기본
  • 의 OnError : 함수 경로 excinfo : 에러 핸들링 함수, 실행 가능한 전송 처리를위한 기능을 정의는, 핸들러는 세 개의 매개 변수를 수신
?
1
import shutil,os
folder1 = os.path.join(os.getcwd(), "aaa" )
shutil.rmtree(folder1)

이동 (SRC, DST) : SRC에 DST는 디렉토리로 이동합니다. DST 디렉토리가 존재하지 않는 경우, 효과는 이름의 src DST에 해당합니다. 디렉토리가 DST를 존재하는 경우, SRC 디렉토리에 폴더 이동의 모든 내용을 넣어 것입니다

  • SRC : 소스 폴더 또는 파일
  • DST는 : DST 이동하는 폴더 나 파일이 DST 파일에 이름이 변경됩니다. 폴더 SRC, DST 파일 경우 오류를보고합니다
  • copy_function : 서류의 사본, 핸들러가 실행 전달할 수 있습니다. 기본값은 COPY2, Python3 새 매개 변수입니다
?
1
4
5
6
(7)
8
9
(10)
(11)
(12)
(13)
import shutil,os
# 示例一,将src文件夹移动至dst文件夹下面,如果bbb文件夹不存在,则变成了重命名操作
folder1 = os.path.join(os.getcwd(), "aaa" )
folder2 = os.path.join(os.getcwd(), "bbb" )
shutil.move(folder1, folder2)
# 示例二,将src文件移动至dst文件夹下面,如果bbb文件夹不存在,则变成了重命名操作
file1 = os.path.join(os.getcwd(), "aaa.txt" )
folder2 = os.path.join(os.getcwd(), "bbb" )
shutil.move(file1, folder2)
# 示例三,将src文件重命名为dst文件(dst文件存在,将会覆盖)
file1 = os.path.join(os.getcwd(), "aaa.txt" )
file2 = os.path.join(os.getcwd(), "bbb.txt" )
shutil.move(file1, file2)

disk_usage에 (경로) : 현재 디렉토리 디스크 사용량을 가져옵니다. Python3 새로운 방법

  • 경로 : 폴더 또는 파일 경로. 창은 파일 경로 및 폴더 경로 일 수 있습니다 리눅스에서 폴더의 경로 여야합니다
?
1
4
import shutil.os
path = os.path.join(os.getcwd(), "aaa" )
info = shutil.disk_usage(path)
print (info)   # usage(total=95089164288, used=7953104896, free=87136059392)

대한 Chown (경로, 사용자 = 없음, 그룹 = 없음) : 파일이나 폴더의 소유자 또는 수정 된 패킷의 경로입니다. Python3 새로운 방법

  • 경로 : 경로
  • 사용자 : 소유자, 값을 전달해야합니다 사용자, 그렇지 않으면 그러한 사용자 오류 사실입니다
  • 그룹 : 그룹은 그룹의 값이 참이어야 통과 그렇지 않으면 오류를 그런 그룹을보고 할 것
?
1
import shutil,os
path = os.path.join(os.getcwd(), "file.txt" )
shutil.chown(path,user = "root" ,group = "root" )

어떤 (cmd를, 모드 = os.F_OK | os.X_OK = 없음 경로) : 주어진 cmd를 실행 가능 파일 경로를 명령을 가져옵니다. Python3 새로운 방법

?
1
import shutil
info = shutil.which( "python3" )
print (info)   # /usr/bin/python3

보관

또 shutil 또한 생성 및 고급 프로그램을 사용하여 압축 한 파일을 읽을 수 있습니다. 내부 구현은 ZipFile를하고 tar 파일 모듈에 주로 의존

make_archive (base_name, 형식, ROOT_DIR는, ...) : 압축 파일을 생성

  • base_name : 그것은 압축 포맷에 따라 적절한 확장을 생성으로 압축 된 파일 이름, 확장자를 허용하지 않습니다
  • 형식 : 압축 형식
  • root_dir은 : 압축 폴더를 개발한다
?
1
4
5
6
import shutil,os
base_name = os.path.join(os.getcwd(), "aaa" )
format = "zip"
root_dir = os.path.join(os.getcwd(), "aaa" )
# 将会root_dir文件夹下的内容进行压缩,生成一个aaa.zip文件
shutil.make_archive(base_name, format , root_dir)

get_archive_formats(): 获取支持的压缩文件格式。目前支持的有:tar、zip、gztar、bztar。在Python3还多支持一种格式xztar

unpack_archive(filename, extract_dir=None, format=None): 解压操作。Python3新增方法

  • filename:文件路径
  • extract_dir:解压至的文件夹路径。文件夹可以不存在,会自动生成
  • format:解压格式,默认为None,会根据扩展名自动选择解压格式
?
1
2
3
4
import shutil,os
zip_path = os.path.join(os.getcwd(), "aaa.zip" )
extract_dir = os.path.join(os.getcwd(), "aaa" )
shutil.unpack_archive(zip_path, extract_dir)

get_unpack_formats(): 获取支持的解压文件格式。目前支持的有:tar、zip、gztar、bztar和xztar。Python3新增方法

关于shutil的更多操作:https://docs.python.org/3/library/shutil.html

추천

출처www.cnblogs.com/kerngeeksund/p/11261834.html