찾다
백엔드 개발파이썬 튜토리얼一篇文章带你搞定Python中shutil模块


1. Shutil

shutil은 간단히 말해서 쉘 도구를 의미하는 sh + util으로 이해하면 됩니다. Shutil 모듈은 os 모듈의 보완 모듈이며 주로 파일 복사, 삭제, 이동, 압축 및 압축 해제에 사용됩니다.


2. Shutil 모듈의 주요 방법

1. , 지정된 크기의 내용을 복사할 수 있습니다. 이 메소드는 quitil 모듈의 다른 복사 메소드의 기초입니다. 다른 메소드는 기본적으로 이 메소드를 호출합니다. 소스 코드를 살펴보겠습니다:
def copyfileobj(fsrc, fdst, length=16*1024):


    while 1:
        buf = fsrc.read(length)
        if not buf:
            break
        fdst.write(buf)

코드가 매우 간단해서 한 눈에 이해가 됩니다. 그러나 fsrc와 fdst는 open() 메서드를 사용하여 열린 파일 객체라는 점에 유의하세요. shutdown.copyfile(src, dst) pymode(src, dst)

복사 권한만 있습니다. 콘텐츠, 그룹 및 사용자는 변경되지 않습니다.

一篇文章带你搞定Python中shutil模块

import shutil
s =open('fsrc.txt','r')
d=open('fdst.txt','w')
shutil.copyfileobj(s,d,length=16*1024)


4.shutil.copystat(src, dst)

모드 비트, atime, mtime, 플래그

를 포함한 상태 정보만 복사합니다.

shutil.copystat('f1.log', 'f2.log') #目标文件必须存在
5. shutil.copy(src, dst)

拷贝文件和权限

import shutil
  
 shutil.copy('f1.log', 'f2.log')
6. shutil.copy2(src, dst)

拷贝文件和状态信息

import shutil
shutil.copy2('f1.log', 'f2.log')
7. shutil.copytree(src, dst, symlinks=False, ignore=None)

递归的去拷贝文件夹

  • src:源文件夹

  • dst:复制至dst文件夹,该文件夹会自动创建,需保证此文件夹不存在,否则将报错

  • symlinks:是否复制软连接,True复制软连接,False不复制,软连接会被当成文件复制过来,默认False

  • ignore:忽略模式,可传入ignore_patterns()

  • copy_function:拷贝文件的方式,可以传入一个可执行的处理函数,默认为copy2,Python3新增参数

  • ignore_dangling_symlinks:sysmlinks设置为False时,拷贝指向文件已删除的软连接时,将会报错,如果想消除这个异常,可以设置此值为True。默认为False,Python3新增参数。

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"))

一篇文章带你搞定Python中shutil模块

8. shutil.rmtree(path[, ignore_errors[, onerror]])

递归的去删除文件

import shutil  
shutil.rmtree('folder1')
9. shutil.move(src, dst)

递归的去移动文件,它类似mv命令,其实就是重命名。

import shutil
 shutil.move('folder1', 'folder3')

一篇文章带你搞定Python中shutil模块

10.shutil.make_archive(base_name, format[, root_dir[, base_dir, verbose, dry_run, owner, group, logger])

创建压缩包并返回文件路径,例如:zip、tar

创建压缩包并返回文件路径,例如:zip、tar

  • base_name:压缩包的文件名,也可以是压缩包的路径。只是文件名时,则保存至当前目录,否则保存至指定路径,

    <br/>
    如 data_bak        保存至当前路径如:/tmp/data_bak =>保存至/tmp/
  • format:压缩包种类,“zip”, “tar”, “bztar”,“gztar”

  • root_dir:要压缩的文件夹路径(默认当前目录)

    owner:用户,默认当前用户

    group:组,默认当前组

    logger:用于记录日志,通常是logging.Logger对象

    <br/>

    把当前目录下的文件压缩生成copy.zip文件到当前目录下注意:此操作会出现递归拷贝压缩导致文件损坏(当前目录下的copy.zip中会有copy.zip)

    import shutil
    shutil.make_archives(&#39;D:\copy3\copy&#39;,&#39;zip&#39;,base_dir=&#39;D:\copy2\\测试.txt&#39;)

    把D:\copy2\测试.txt文件压缩,在D:\copy3\路径下生成copy.zip。

    import shutilshutil.make_archives(&#39;copy&#39;,&#39;zip&#39;)
    一篇文章带你搞定Python中shutil模块

三、总结

    本文主要介绍了Python中shutil模块,对模块中主要的方法进行了详细的介绍。对遇到的问题进行详细的解答。最后使用Python编程语言,通过在实际开发中的项目。方便大家对shutil模块的认知。希望对大家的学习有帮助。

위 내용은 一篇文章带你搞定Python中shutil模块의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
이 기사는 Go语言进阶学习에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제
Python vs. C : 응용 및 사용 사례가 비교되었습니다Python vs. C : 응용 및 사용 사례가 비교되었습니다Apr 12, 2025 am 12:01 AM

Python은 데이터 과학, 웹 개발 및 자동화 작업에 적합한 반면 C는 시스템 프로그래밍, 게임 개발 및 임베디드 시스템에 적합합니다. Python은 단순성과 강력한 생태계로 유명하며 C는 고성능 및 기본 제어 기능으로 유명합니다.

2 시간의 파이썬 계획 : 현실적인 접근2 시간의 파이썬 계획 : 현실적인 접근Apr 11, 2025 am 12:04 AM

2 시간 이내에 Python의 기본 프로그래밍 개념과 기술을 배울 수 있습니다. 1. 변수 및 데이터 유형을 배우기, 2. 마스터 제어 흐름 (조건부 명세서 및 루프), 3. 기능의 정의 및 사용을 이해하십시오. 4. 간단한 예제 및 코드 스 니펫을 통해 Python 프로그래밍을 신속하게 시작하십시오.

파이썬 : 기본 응용 프로그램 탐색파이썬 : 기본 응용 프로그램 탐색Apr 10, 2025 am 09:41 AM

Python은 웹 개발, 데이터 과학, 기계 학습, 자동화 및 스크립팅 분야에서 널리 사용됩니다. 1) 웹 개발에서 Django 및 Flask 프레임 워크는 개발 프로세스를 단순화합니다. 2) 데이터 과학 및 기계 학습 분야에서 Numpy, Pandas, Scikit-Learn 및 Tensorflow 라이브러리는 강력한 지원을 제공합니다. 3) 자동화 및 스크립팅 측면에서 Python은 자동화 된 테스트 및 시스템 관리와 ​​같은 작업에 적합합니다.

2 시간 안에 얼마나 많은 파이썬을 배울 수 있습니까?2 시간 안에 얼마나 많은 파이썬을 배울 수 있습니까?Apr 09, 2025 pm 04:33 PM

2 시간 이내에 파이썬의 기본 사항을 배울 수 있습니다. 1. 변수 및 데이터 유형을 배우십시오. 이를 통해 간단한 파이썬 프로그램 작성을 시작하는 데 도움이됩니다.

10 시간 이내에 프로젝트 및 문제 중심 방법에서 컴퓨터 초보자 프로그래밍 기본 사항을 가르치는 방법?10 시간 이내에 프로젝트 및 문제 중심 방법에서 컴퓨터 초보자 프로그래밍 기본 사항을 가르치는 방법?Apr 02, 2025 am 07:18 AM

10 시간 이내에 컴퓨터 초보자 프로그래밍 기본 사항을 가르치는 방법은 무엇입니까? 컴퓨터 초보자에게 프로그래밍 지식을 가르치는 데 10 시간 밖에 걸리지 않는다면 무엇을 가르치기로 선택 하시겠습니까?

중간 독서를 위해 Fiddler를 사용할 때 브라우저에서 감지되는 것을 피하는 방법은 무엇입니까?중간 독서를 위해 Fiddler를 사용할 때 브라우저에서 감지되는 것을 피하는 방법은 무엇입니까?Apr 02, 2025 am 07:15 AM

Fiddlerevery Where를 사용할 때 Man-in-the-Middle Reading에 Fiddlereverywhere를 사용할 때 감지되는 방법 ...

Python 3.6에 피클 파일을로드 할 때 '__builtin__'모듈을 찾을 수없는 경우 어떻게해야합니까?Python 3.6에 피클 파일을로드 할 때 '__builtin__'모듈을 찾을 수없는 경우 어떻게해야합니까?Apr 02, 2025 am 07:12 AM

Python 3.6에 피클 파일로드 3.6 환경 보고서 오류 : modulenotfounderror : nomodulename ...

경치 좋은 스팟 코멘트 분석에서 Jieba Word 세분화의 정확성을 향상시키는 방법은 무엇입니까?경치 좋은 스팟 코멘트 분석에서 Jieba Word 세분화의 정확성을 향상시키는 방법은 무엇입니까?Apr 02, 2025 am 07:09 AM

경치 좋은 스팟 댓글 분석에서 Jieba Word 세분화 문제를 해결하는 방법은 무엇입니까? 경치가 좋은 스팟 댓글 및 분석을 수행 할 때 종종 Jieba Word 세분화 도구를 사용하여 텍스트를 처리합니다 ...

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
4 몇 주 전By尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

MinGW - Windows용 미니멀리스트 GNU

MinGW - Windows용 미니멀리스트 GNU

이 프로젝트는 osdn.net/projects/mingw로 마이그레이션되는 중입니다. 계속해서 그곳에서 우리를 팔로우할 수 있습니다. MinGW: GCC(GNU Compiler Collection)의 기본 Windows 포트로, 기본 Windows 애플리케이션을 구축하기 위한 무료 배포 가능 가져오기 라이브러리 및 헤더 파일로 C99 기능을 지원하는 MSVC 런타임에 대한 확장이 포함되어 있습니다. 모든 MinGW 소프트웨어는 64비트 Windows 플랫폼에서 실행될 수 있습니다.

에디트플러스 중국어 크랙 버전

에디트플러스 중국어 크랙 버전

작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음

SublimeText3 Linux 새 버전

SublimeText3 Linux 새 버전

SublimeText3 Linux 최신 버전