python中shutil和shutil库的用法

这篇具有很好参考价值的文章主要介绍了python中shutil和shutil库的用法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、shutil目录和文件操作

Python shutil库提供了对文件和目录复制、移动、删除、压缩、解压等操作。

1. 复制文件或目录

  • shutil.copy(src, dst):复制文件或目录
  • shutil.copyfile(src, dst):复制文件,src和dst只能是文件
  • shutil.copytree(src, dst, dirs_exist_ok=False):复制目录,默认dst目录不存在,否则会报错。

示例:

import os
import shutil

dirpath    = os.path.dirname(os.path.realpath(__file__))
sourcedir  = os.path.join(dirpath, "shutil_a")
sourcefile = os.path.join(dirpath, "shutil_a", "test.txt")        
destdir    = os.path.join(dirpath, "shutil_b")
destfile   = os.path.join(dirpath, "shutil_b", "test2.txt")
# 复制文件或目录
shutil.copy(sourcefile, destdir)        
# 复制文件
shutil.copyfile(sourcefile, destfile) 
# 复制目录
shutil.copytree(sourcedir, destfile, dirs_exist_ok=True) 

2. 移动文件或目录

语法:shutil.move(src, dst)

示例:

import os
import shutil

dirpath    = os.path.dirname(os.path.realpath(__file__))
sourcedir  = os.path.join(dirpath, "shutil_a")
sourcefile = os.path.join(dirpath, "shutil_a", "test.txt")        
destdir    = os.path.join(dirpath, "shutil_b")
shutil.move(sourcefile, destdir)
shutil.move(destdir, sourcedir)

3. 删除文件和目录

删除某个文件使用 os 模块提供的remove和unlink方法:

  • os.remove(path)
  • os.unlink(path)

删除目录使用 shutil.rmtree 方法:

import os
import shutil

dirpath    = os.path.dirname(os.path.realpath(__file__))     
destdir    = os.path.join(dirpath, "shutil_b")
shutil.rmtree(destdir)

二、shutil文件压缩、解压

shutil库也支持文件压缩、解压操作,这个功能在Python 3.2版本引入。

1. 压缩文件

语法格式:

shutil.make_archive(base_name, format[, root_dir[, base_dir[, verbose[, dry_run[, owner[, group[, logger]]]]]]])
  • base_name:压缩包文件名
  • format:压缩包格式,支持zip,tar,bztar,gztar,xztar格式,可使用shutil.get_archive_formats()方法查看
  • root_dir:要压缩文件路径的根目录(默认当前目录)
  • base_dir:相对于root_dir的压缩文件路径(默认当前目录)

示例:

import os
import shutil
#Python小白学习交流群:725638078
dirpath    = os.path.dirname(os.path.realpath(__file__))
archive_name  = os.path.join(dirpath, "shutil_a")
root_dir = archive_name
shutil.make_archive(archive_name, 'zip', root_dir)

2. 解压文件

语法格式:

shutil.unpack_archive(filename[, extract_dir[, format]])

示例:文章来源地址https://www.toymoban.com/news/detail-403784.html

import os
import shutil

dirpath      = os.path.dirname(os.path.realpath(__file__))
archive_name = os.path.join(dirpath, "shutil_a.zip")
extract_dir  = os.path.join(dirpath, "shutil_a")   
shutil.unpack_archive(archive_name, extract_dir, 'zip')

到了这里,关于python中shutil和shutil库的用法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【100天精通python】Day20:文件及目录操作_os模块和os.psth模块, 文件路径拼接,目录操作

    目录 专栏导读  1 文件的目录操作  os模块的一些操作目录函数​编辑

    2024年02月14日
    浏览(38)
  • Python 程序设计入门(025)—— 使用 os 模块操作文件与目录

    Python 内置了 os 模块及其子模块 os.path,用于对目录或文件进行操作。在使用 os 模块及其子模块 os.path 模块时,需要使用 import 导入该模块,才能使用它们提供的函数或方法。 1、os 模块提供的操作目录的函数 os 模块提供的操作目录的函数如下表所示: 函数 说明 getcwd() 返回当

    2024年02月11日
    浏览(34)
  • Python中的selenium库的基本用法

    Selenium是一个用于测试网站的自动化测试工具,支持各种浏览器包括Chrome、Firefox、Safari等主流界面浏览器,同时也支持phantomJS无界面浏览器。 通过此行代码可以快速在Python中安装selenium库 pip install Selenium 另外,我们仍需要安装浏览器驱动 Selenium3.x调用浏览器必须有一个webdr

    2023年04月20日
    浏览(28)
  • 【100天精通python】Day21:文件及目录操作_文件的权限处理和批量处理

    目录 专栏导读  1. 文件的权限处理 1.1 查询文件权限 1.2 修改文件权限

    2024年02月14日
    浏览(29)
  • Python3.11教程3:模块和包(pip/conda)、文件系统(os/ shutil/json/pickle/openpyxl/xlrd)

    本文相关链接: Python官网、Python 3.11.5 中文文档、慕课:Python语言程序设计、Real Python :Write More Pythonic Code Miniconda、Anaconda、conda文档 Python 标准库官方文档、 《os — 多种操作系统接口》、《os.path — 常用路径操作》、《shutil — 高阶文件操作》 Pandas文档《Input/output》、 op

    2024年02月09日
    浏览(42)
  • Python中PIL库的常用用法示例

            Python中的PIL(Python Imaging Library,已更名为Pillow)是一个功能强大的图像处理库。以下是一些常用的PIL功能及相应的代码示例: 1. 打开和保存图像: 2. 显示图像:   3. 图像尺寸调整(resize): 4. 图像旋转: 5. 图像裁剪: 6. 图像格式转换: 7. 为图像添加文字:

    2024年02月04日
    浏览(35)
  • 23 Python的shutil模块

    概述         在上一节,我们介绍了Python的argparse模块,包括:argparse模块中一些常用的类和函数。在这一节,我们将介绍Python的shutil模块。shutil模块是一个用于文件和文件夹操作的实用模块,它提供了一组用于处理文件和文件夹的高级接口,包括:文件和文件夹的复制、

    2024年02月08日
    浏览(26)
  • Python的shutil模块解析

    目录 前言 一、文件复制 1. shutil.copy(src, dst) 2. shutil.copyfile(src, dst) 3. shutil.copy2(src, dst) 4. shutil.copyfileobj(fsrc, fdst,[length=*]) 5. shutil.copymode(src, dst) 6. shutil.copystat(src, dst) 7. shutil.copytree(src, dst,ignore=none,copy_function=shutil.copy2) 二、文件移动和删除 1. shutil.move(src,dst) 2. shutil.rmtree(s

    2024年02月10日
    浏览(28)
  • Python中Pandas库的相关操作

      目录 Pandas库 常用操作 创建DataFrame 查看数据 数据选择和过滤 数据排序和排名 缺失数据处理 数据聚合和分组 数据的合并和连接 Pandas是Python中常用的数据处理和分析库,它提供了高效、灵活且易于使用的数据结构和数据分析工具。 1.Series(序列):Series是Pandas库中的一维标

    2024年02月04日
    浏览(24)
  • Python Arrow库的时间操作技法

    📚 个人网站:ipengtao.com Arrow是一个功能强大、易用且具有优雅设计的Python日期时间库。它建立在Python的 datetime 模块之上,旨在弥补 datetime 模块在处理日期时间时的一些不足之处。Arrow提供了简洁而直观的API,使得处理日期时间的操作更为便捷。本文将深入探讨Arrow库的各项

    2024年02月04日
    浏览(26)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包