iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python shutil模块
  • 937
分享到

python shutil模块

模块pythonshutil 2023-01-30 21:01:29 937人浏览 独家记忆

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

摘要

高级的 文件、文件夹、压缩包 处理模块shutil.copyfileobj(fsrc, fdst[, length])将文件内容拷贝到另一个文件中,可以部分内容test.txt是一个已经存在的文件,复制一份到test1.txtimport&

高级的 文件、文件夹、压缩包 处理模块


shutil.copyfileobj(fsrc, fdst[, length])

将文件内容拷贝到另一个文件中,可以部分内容

test.txt是一个已经存在的文件,复制一份到test1.txt

import shutil
with open("test.txt",'r',encoding="utf-8") as f1,\
    open("test1.txt",'w',encoding="utf-8") as f2:
    shutil.copyfileobj(f1,f2)

执行程序,查看test1文件内容是否完整


shutil.copyfile(src, dst)

拷贝文件

shutil.copyfile("test.txt","test1.txt")

执行程序,查看test1文件内容是否完整

和copyfileobj是类似的功能,不同的是,copyfile不需要打开文件,底层做好了。


shutil.copymode(src, dst)

仅拷贝权限。内容、组、用户均不变

注意:不拷贝文件!

import shutil,os
shutil.copymode("test.txt","test1.txt")
#查看文件st_mode
print(os.stat("test.txt")[0])
print(os.stat("test1.txt")[0])

执行输出

33206

33206


shutil.copystat(src, dst)

拷贝状态的信息,包括:mode bits, atime, mtime, flags

注意:不拷贝文件!

shutil.copystat("test.txt","test1.txt")

执行输出

import shutil,os

shutil.copystat("test.txt","test1.txt")
#查看文件st_mode
print(os.stat("test.txt"))
print(os.stat("test1.txt"))

os.stat_result(st_mode=33206, st_ino=29554872554620097, st_dev=2155337657, st_nlink=1, st_uid=0, st_gid=0, st_size=20, st_atime=1519956939, st_mtime=1519956939, st_ctime=1519956939)

os.stat_result(st_mode=33206, st_ino=8444249301319863, st_dev=2155337657, st_nlink=1, st_uid=0, st_gid=0, st_size=20, st_atime=1519956939, st_mtime=1519956939, st_ctime=1519956793)

可以发现st_mode,st_atime,st_mtime是一致的


shutil.copy(src, dst)

拷贝文件和权限

import shutil,os
shutil.copy("test.txt","test1.txt")


shutil.copy2(src, dst)

拷贝文件和状态信息

import shutil,os
shutil.copy2("test.txt","test1.txt")


shutil.copytree(src, dst, symlinks=False, ignore=None)

递归的去拷贝文件

例如:copytree(source, destination, ignore=ignore_patterns('*.pyc', 'tmp*'))

原文件夹目录结构如下:

test4
├── a
│   └── b
│       └── c
│           └── __init__.py
├── module_test.py
├── test.py
└── test.txt

在test4同级目录,创建文件copy_test.py

import shutil
shutil.copytree("test4","new_test")

执行copy_test.py,查看new_test目录

blob.png

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

递归的去删除文件

import shutil
shutil.rmtree("new_test")

执行程序,发现new_test文件被删除了


shutil.move(src, dst)

递归的去移动文件

import shutil
shutil.move("test.txt",r"a\b\c")

执行程序,发现test.txt被移动到c文件夹了


shutil.make_archive(base_name, format,...)

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

参数说明:

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

如:www                        =>保存至当前路径

如:/Users/wupeiqi/www =>保存至/Users/wupeiqi/

format:压缩包种类,“zip”, “tar”, “bztar”,“gztar”

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

owner:用户,默认当前用户

group:组,默认当前组

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


将test4目录打包成arcHive_test.zip文件

import shutil
shutil.make_archive("archive_test","zip",r"E:\python_script\day5\test4")

执行程序,查看archive_test.zip文件的内容

blob.png

注意:执行的程序代码不要在压缩路径里面,否则会多压一次。


shutil 对压缩包的处理是调用 ZipFile 和 TarFile 两个模块来进行的,详细:


zipfile 压缩解压

import zipfile

# 压缩
z = zipfile.ZipFile('laxi.zip', 'w')
z.write('a.log')
z.write('data.data')
z.close()

# 解压
z = zipfile.ZipFile('laxi.zip', 'r')
z.extractall()
z.close()

tarfile 压缩解压

import tarfile

# 压缩
tar = tarfile.open('your.tar','w')
tar.add('/Users/wupeiqi/PyCharmProjects/bbs2.zip', arcname='bbs2.zip')
tar.add('/Users/wupeiqi/PycharmProjects/cmdb.zip', arcname='cmdb.zip')
tar.close()

# 解压
tar = tarfile.open('your.tar','r')
tar.extractall()  # 可设置解压地址
tar.close()


--结束END--

本文标题: python shutil模块

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

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

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

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

下载Word文档
猜你喜欢
  • python shutil模块
    高级的 文件、文件夹、压缩包 处理模块shutil.copyfileobj(fsrc, fdst[, length])将文件内容拷贝到另一个文件中,可以部分内容test.txt是一个已经存在的文件,复制一份到test1.txtimport&...
    99+
    2023-01-30
    模块 python shutil
  • python模块之shutil
    shutil模块提供了一些针对文件和目录的高级操作,主要是拷贝、移动。对于单个文件的操作,还可参考os模块 Warning:即使是高级别的拷贝函数(shutil.copy(),shutil.copy2())也不能拷贝所有的文件元数据。意思...
    99+
    2023-01-31
    模块 python shutil
  • Python 之 shutil模块
    shutil模块用于执行高级的文件操作,如复制,移动重命名等。>>> shutil. shutil.Error shutil._samefile shutil.__all__ s...
    99+
    2023-01-31
    模块 Python shutil
  • python之shutil模块
    shutil:高级的 文件、文件夹、压缩包 处理模块 shutil.copyfileobj(fsrc, fdst[, length])(copyfileobj方法只会拷贝文件内容)将文件内容拷贝到另一个文件中 import shu...
    99+
    2023-01-30
    模块 python shutil
  • python shutil模块总结
    shutil.copyfile(src,dst)复制文件,如果存在会覆盖copymode( src, dst)复制权限copystat(src, dst)复制访问时间和修改时间和权限copy(src, dst) 复制文件到一个目录copy2...
    99+
    2023-01-31
    模块 python shutil
  • python内置模块~shutil
    --High-level file operations,高级的文件操作模块~shutil 模块的使用主要包括对文件及目录的移动、复制、打包、压缩(解压)、删除等操作。是对os模块的一个补充~ shutil.copyfileobj(fs...
    99+
    2023-01-31
    模块 python shutil
  • shutil模块
    目录 shutil模块(了解) zipfile压缩解压缩 tarfile压缩解压缩 高级的文件、文...
    99+
    2023-01-31
    模块 shutil
  • Python 中 Shutil 模块详情
    一、什么是shutil shutil可以简单地理解为sh + util ,shell工具的意思。shutil模块是对os模块的补充,主要针对文件的拷贝、删除、移动、压缩和解压操作。 ...
    99+
    2024-04-02
  • Python shutil模块(目录和文
    import shutil #导入shutil模块 copyfileobj方法 将类文件对象fsrc的内容复制到类文件对象fdst shutil.copyfileobj(fsrc, fdst[, length]) 我一般的用法...
    99+
    2023-01-30
    和文 模块 目录
  • Python中os模块和shutil模块的示例分析
    这篇文章将为大家详细讲解有关Python中os模块和shutil模块的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。python可以做什么Python是一种编程语言,内置了许多有效的工具,Pyth...
    99+
    2023-06-06
  • Python中shutil模块的使用详解
    简介:shutil 模块提供了一系列对文件和文件集合的高阶操作。特别是提供了一些支持文件拷贝和删除的函数,该模块主要强大之处在于其对文件的复制与删除操作更是比较支持好。 主要方法: ...
    99+
    2024-04-02
  • python模块shutil函数怎么用
    小编给大家分享一下python模块shutil函数怎么用,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!本文大纲os模块是Python标准库中一个重要的模块,里面提供了对目录和文件的一般常用操作。而Python另外一个标准库...
    99+
    2023-06-25
  • Python中shutil模块怎么使用
    这篇文章主要讲解了“Python中shutil模块怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python中shutil模块怎么使用”吧!简介:shutil 模块提供了一系列对文件...
    99+
    2023-06-28
  • shutil模块有什么用
    这篇文章主要讲解了“shutil模块有什么用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“shutil模块有什么用”吧!shutil模块import shutil f1 = open(&qu...
    99+
    2023-06-04
  • python shutil模块怎么操作文件
    这篇文章主要讲解了“python shutil模块怎么操作文件”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“python shutil模块怎么操作文件”吧!1、复制文件和文件夹,调用 shu...
    99+
    2023-06-30
  • 详解Python常用标准库之os模块与shutil模块
    目录系统模块常用方法常用属性文件操作路径模块文件复制移动模块(文件操作)copyfileobj -- 复制文件(内容)copyfile -- 复制文件(内容)copymode -- ...
    99+
    2024-04-02
  • Python之shutil模块常用的函数有哪些
    这篇文章主要讲解了“Python之shutil模块常用的函数有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python之shutil模块常用的函数有哪些”吧!shutil 是 Pyth...
    99+
    2023-06-16
  • Python常用标准库之os模块与shutil模块怎么使用
    本文小编为大家详细介绍“Python常用标准库之os模块与shutil模块怎么使用”,内容详细,步骤清晰,细节处理妥当,希望这篇“Python常用标准库之os模块与shutil模块怎么使用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入...
    99+
    2023-06-30
  • python模块shutil函数应用示例详解教程
    目录本文大纲知识串讲1)模块导入2)复制文件3)复制文件夹4)移动文件或文件夹5)删除文件夹(慎用)6)创建和解压压缩包本文大纲 os模块是Python标准库中一个重要的模块,里面提...
    99+
    2024-04-02
  • 怎么在python中使用shutil模块操作文件
    这篇文章给大家介绍怎么在python中使用shutil模块操作文件,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。python的五大特点是什么python的五大特点:1.简单易学,开发程序时,专注的是解决问题,而不是搞明...
    99+
    2023-06-14
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作