iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python中shutil模块的学习笔记教程
  • 584
分享到

Python中shutil模块的学习笔记教程

学习笔记模块教程 2022-06-04 18:06:16 584人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

介绍 shutil 名字来源于 shell utilities,有学习或了解过linux的人应该都对 shell 不陌生,可以借此来记忆模块的名称。该模块拥有许多文件(夹)操作的功能,包括复制、移动、重命名

介绍

shutil 名字来源于 shell utilities,有学习或了解过linux的人应该都对 shell 不陌生,可以借此来记忆模块的名称。该模块拥有许多文件(夹)操作的功能,包括复制、移动、重命名、删除等等

一、chutil.copy(source, destination)

shutil.copy() 函数实现文件复制功能,将 source 文件复制到 destination 文件夹中,两个参数都是字符串格式。如果 destination 是一个文件名称,那么它会被用来当作复制后的文件名称,即等于 复制 + 重命名。

举例如下:


>> import shutil
 >> import os
 >> os.chdir('C:')
 >> shutil.copy('C:spam.txt', 'C:delicious')
 'C:deliciousspam.txt'
 >> shutil.copy('eggs.txt', 'C:deliciouseggs2.txt')
 'C:deliciouseggs2.txt'

如代码所示,该函数的返回值是复制成功后的字符串格式的文件路径

二、shutil.copytree(source, destination)

shutil.copytree()函数复制整个文件夹,将 source 文件夹中的所有内容复制到 destination 中,包括 source 里面的文件、子文件夹都会被复制过去。两个参数都是字符串格式。

注意:如果 destination 文件夹已经存在,该操作并返回一个 FileExistsError 错误,提示文件已存在。即表示,如果执行了该函数,程序会自动创建一个新文件夹(destination参数)并将 source 文件夹中的内容复制过去

举例如下:


>> import shutil
 >> import os
 >> os.chdir('C:')
 >> shutil.copytree('C:bacon', 'C:bacon_backup')
 'C:bacon_backup'

如以上代码所示,该函数的返回值是复制成功后的文件夹的绝对路径字符串

所以该函数可以当成是一个备份功能

三、shutil.move(source, destination)

shutil.move() 函数会将 source 文件或文件夹移动到 destination 中。返回值是移动后文件的绝对路径字符串。

如果 destination 指向一个文件夹,那么 source 文件将被移动到 destination 中,并且保持其原有名字。例如:


>> import shutil
 >> shutil.move('C:bacon.txt', 'C:eggs')
 'C:eggsbacon.txt'

上例中,如果 C:eggs 文件夹中已经存在了同名文件 bacon.txt,那么该文件将被来自于 source 中的同名文件所重写。

如果 destination 指向一个文件,那么 source 文件将被移动并重命名,如下:


>> shutil.move('C:bacon.txt', 'C:eggsnew_bacon.txt')
 'C:eggsnew_bacon.txt'

等于是移动+重命名

<b>注意,如果 destination 是一个文件夹,即没有带后缀的路径名,那么 source 将被移动并重命名为 destination</b>,如下:


>> shutil.move('C:bacon.txt', 'C:eggs')
 'C:eggs'

即 bacon.txt 文件已经被重命名为 eggs,是一个没有文件后缀的文件

最后,destination 文件夹必须是已经存在的,否则会引发异常:


>> shutil.move('spam.txt', 'C:does_not_existeggsham')
 Traceback (most recent call last):
 File "D:python36libshutil.py", line 538, in move
 os.rename(src, real_dst)
 FileNotFoundError: [WinError 3] 系统找不到指定的路径。: 'test.txt' -> 'C:does_not_existeggsham'
 During handling of the above exception, another exception occurred:
 Traceback (most recent call last):
 File "

四、永久性删除文件和文件夹

这里有涉及到 os 模块中的相关函数

os.unlink(path) 会删除 path 路径文件

os.rmdir(path) 会删除 path 路径文件夹,但是这个文件夹必须是空的,不包含任何文件或子文件夹

shutil.rmtree(path) 会删除 path 路径文件夹,并且在这个文件夹里面的所有文件和子文件夹都会被删除

利用函数执行删除操作时,应该倍加谨慎,因为如果想要删除 txt 文件,而不小心写到了 rxt ,那么将会给自己带来麻烦

此时,我们可以利用字符串的 endswith 属性对文件格式进行检查与筛选

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对编程网的支持。

--结束END--

本文标题: Python中shutil模块的学习笔记教程

本文链接: https://www.lsjlt.com/news/13493.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • python os模块学习笔记
    import os os.mkdir(name) #创建目录 os.path.exists(name) #判断文件或者目录是否存在 os.path.isdir(name) #判断指定对象是否为目录。是True,否则Fa...
    99+
    2023-01-31
    学习笔记 模块 python
  • python学习笔记(九)、模块
    1 模块   使用import 语句从外部导入模块信息,python提供了很大内置模块。当你导入模块时,你会发现其所在目录中,除源代码文件外,还新建了一个名为__pycache__的子目录(在较旧的Python版本中,是扩展名为.pyc ...
    99+
    2023-01-31
    学习笔记 模块 python
  • Python 学习笔记 (4)—— 模块
           模块基本上就是一个包含了所有你定义的函数和变量的文件。为了在其他程序中重用模块,模块的文件名必须以.py为扩展名。        模块可以从其他程序 输入 以便利用它的功能。这也是我们使用Python标准库的方法。首先,我们...
    99+
    2023-01-31
    学习笔记 模块 Python
  • python zipfile模块学习笔记
    ZIP文件格式是一种常见的存档和压缩标准,这个zipfile模块提供了工具来创建、读取、写入、附加和列出一个ZIP文件。使用ZIP64扩展(即压缩文件大小超过4G),它能解压加密的ZIP文件,解密过程很慢。1、测试是否为ZIP文件is_zi...
    99+
    2023-01-31
    学习笔记 模块 python
  • Python学习笔记5—Python模块
        python模块分为系统内置的模块、第三方的模块和用户编写的模块    默认情况下,python第三方的模块安装在python 的安装目录下site-packages下,以文件或者目录的形式存放    用户模块,程序模块化对区分功能...
    99+
    2023-01-31
    学习笔记 模块 Python
  • Python学习笔记之json模块和pickle模块
    目录json模块序列化与反序列化json模块中的方法pickle模块总结json模块 json用于不同语言之间的数据交换,比如C和Python之间等等,即可跨语言。而pickle只能...
    99+
    2023-05-18
    json模块 pickle模块 python各个模块讲解
  • Python学习笔记7——文本、模块
    参考书籍:《Learning_Python_5th_Edition.pdf》,一本英文书呢,我上传到百度网盘吧,请点击这里,密码是:kym3 文本文件的输入输出 Python具有基本的文本文件读写功能。Python的标准库提供有更丰富的读...
    99+
    2023-01-30
    学习笔记 模块 文本
  • Python学习笔记:json模块和pi
    Python中的json模块和pickle都是用于数据的序列化和反序列化,它们提供的方法也是一样的:dumps,dump,loads,load dumps(obj):将对象序列化为str。 dump(obj, fp):将对象序列化为...
    99+
    2023-01-30
    学习笔记 模块 Python
  • Python3学习笔记(urllib模块
    1.基本方法urllib.request.urlopen(url, data=None, [timeout, ]*, cafile=None, capath=None, cadefault=False, context=None)-    ...
    99+
    2023-01-31
    学习笔记 模块 urllib
  • Python学习教程:Python argparse模块
    这篇Python学习教程主要是对 argparse(Python标准库中推荐的命令行解析模块) 进行简要介绍。note 还有两个其他模块也可以完成相同的任务,分别是 getopt(与C语言中的 getopt() 等效)和已经过时的 optp...
    99+
    2023-06-02
  • 周末学习笔记——day03(模块,包)
    一,复习 ''' 装饰器 @wraper # fn = wraper(fn) def fn(): pass def wrap(arg): def outer(func): # 可以用arg d...
    99+
    2023-01-31
    学习笔记 模块 周末
  • 【Python学习笔记】-Python中
    python中的格式为 为真时的结果 if 判定条件 else 为假时的结果 实例: print(1 if 5>3 else 0) 是先输出结果,再判定条件 输出1,如果5大于3,否则输出0 一般用于判断赋值中,例...
    99+
    2023-01-31
    学习笔记 Python
  • Python学习笔记:单例模式
    单例模式:一个类无论实例化多少次,返回的都是同一个实例,例如:a1=A(), a2=A(), a3=A(),a1、a2和a3其实都是同一个对象,即print(a1 is a2)和print(a2 is a3)都会打印True。 实现方式:...
    99+
    2023-01-30
    学习笔记 模式 Python
  • Python3学习笔记:Python中的
    一、格式 变量 = 对象 二、简述 Python为动态解释性语言,在赋值操作时,并不需要像静态编译类型语言C、C++或Java一样,在使用变量前,需声明变量的类型。在Python中,类型是在运行过程中自动决定的,而不是通过代码声...
    99+
    2023-01-31
    学习笔记 Python
  • 【Apollo学习笔记】——规划模块TASK之PATH_DECIDER
    文章目录 前言PATH_DECIDER功能简介PATH_DECIDER相关配置PATH_DECIDER总体流程路径决策代码流程及框架MakeStaticObstacleDecision PATH_DECIDER相关子函数参考 ...
    99+
    2023-08-30
    自动驾驶 决策规划 算法 planning apollo 人工智能
  • Python学习笔记(3)Python中
    Escape What it does. 含义  \\ Backslash () 反斜杠 \' Single-quote (') 单引号 \" Double-quote (") 双引号 \a ASCII bell (BEL) 响铃符 \b...
    99+
    2023-01-31
    学习笔记 Python
  • Python学习笔记之线程
    目录1.自定义进程2.进程与线程3.多线程4.Thread类方法5.多线程与多进程小Case6.Thread 的生命周期7.自定义线程8.线程共享数据与GIL(全局解释器锁)9.GI...
    99+
    2024-04-02
  • Python学习笔记三(Python程序
     Linux系统自带的python版本通常都比较低,可以在python官方网站(http://www.python.org/download/)下载最新源码包,然后进行升级安装。1.下载python源码包。wget http://www....
    99+
    2023-01-31
    学习笔记 程序 Python
  • ASP API教程:学习笔记分享!
    ASP API是一种常用的Web开发技术,它可以通过API(应用程序接口)来访问和操作数据,从而实现Web应用程序的开发。如果您正在学习ASP API,本文将为您提供一些有用的笔记和代码示例,帮助您更好地理解和应用这项技术。 了解ASP...
    99+
    2023-11-06
    api 教程 学习笔记
  • 【Python_Matplotlib学习笔记(一)】pyplot模块的基本用法
    pyplot模块的基本用法 前言正文1、导入pyplot模块2、plt.plot()方法绘制图像3、plt.plot()方法添加描述信息4、plt.lim()方法设置坐标轴取值范围5、plt....
    99+
    2023-09-18
    matplotlib python
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作