shutil模块是python高级的文件、文件夹、压缩包处理模块,常见的有拷贝,删除,移动,创建压缩文件和解压缩文件等

拷贝文件对象:

shutil.copyfileobj(file_src, file_dst[, length])

将类似对象file_src从当前指针位置到结尾的文件内容复制到类似对象file_dst文件中。length(如果给定)是缓冲区大小。仅拷贝文件内容。

拷贝文件或元数据:

shutil.copyfile(src, dst, *, follow_symlinks=True):

将src文件的内容复制到dst文件中并返回dst。src和dst是字符串形式的"路径+文件名"。仅拷贝文件内容。

dst必须是完整的目标文件名;如果dst已经存在,它将被替换;如果src和dst指定相同文件,引发samefilerror。目标位置必须是可写的,否则将引发OSError。

如果follow_symlinks为false,而src是一个符号链接,则将创建一个新的符号链接,而不是复制src指向的文件

shutil.copymode(src, dst, *, follow_symlinks=True):仅拷贝权限。dst文件内容、所有者和所属组不受影响(前提是dst文件存在,否则报错)。

shutil.copystat(src, dst, *, follow_symlinks=True):仅拷贝文件(src和dst可以为目录)属性信息,如mode bits(权限位),atime(最后访问时间),mtime(最后修改时间),flags,在Linux上还尽可能复制“扩展属性”。文件内容、所有者和组不受影响

shutil.copy(src, dst, *, follow_symlinks=True) 拷贝文件和权限,如果dst为一个目录则将src复制到dst目录中。返回新创建文件的路径。复制文件数据和文件的权限模式,其他元数据(如文件的创建和修改时间)不被保留。

shutil.copy2(src, dst, *, follow_symlinks=True):与copy()相同,但copy2()会尽可能的尝试保留所有元数据

shutil.ignore_patterns(*globs)

此工厂函数创建一个函数,该函数可以用作copytree()的ignore参数值,拷贝的时候忽略与提供的样式模式匹配的文件和目录,如shutil.ignore_patterns('*.pyc', 'tmp*')

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

以递归方式复制src上的整个目录树,并返回目标目录(src和dst为目录)。dst指定的目标目录必须不存在,它将被创建,并且缺少父目录。

如果给定了ignore,它必须是一个可调用的,它将接收copytree()访问的目录以及OS.listdir()返回的目录作为其参数,而且必须返回相对于当前目录的目录名和文件名序列(即第二个参数中的项的子集),然后在复制过程中将忽略这些名称。

copy_function必须是一个可调用的,用于复制每个文件。默认使用shutil.copy2(),也可以使用任何支持相同签名的函数如shutil.copy()

删除文件:

shutil.rmtree(path, ignore_errors=False, οnerrοr=None)

递归的去删除文件,路径必须指向目录(而不是指向目录的符号链接)。如果ignore_errors为true,则忽略由于删除失败而导致的错误;如果为false,则通过调用onerror指定的处理程序来处理这些错误,如果onerror忽略,则会引发异常。

移动/重命名文件:

shutil.move(src, dst, copy_function=copy2)

递归地移动文件或目录并返回目标。如果目标是一个已存在的目录,那么SRC将被移动到该目录中,该函数可以用来重命名。

统计目录磁盘使用情况:

shutil.disk_usage(path)

以命名元组的形式返回给定路径的磁盘使用情况统计信息,属性为total、used和free,即总空间、已用空间和可用空间(以字节为单位)。在Windows上,path必须是目录;在UNIX上,path可以是文件或目录。

更改文件或目录的所有者或所属组:

shutil.chown(path, user=None, group=None):更改给定路径的所有者或所属组

创建压缩文件:

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

创建一个压缩文件(如zip或tar)并返回其名称

base_name是要创建的包括路径的不包含扩展名的文件名。

format为文件扩展名,可用的扩展名:“zip”(依赖zlib模块)、“tar”、“gztar”(依赖zlib模块)、“bztar”(依赖bz2模块)或“xztar”(依赖lzma模块)。

root_dir指定一个将成为存档根目录的目录

base_dir是我们开始存档的目录,是存档中所有文件和目录的通用前缀。

root_dir和base_dir都默认为当前目录

如果dry_run为true,则不会创建压缩文件,但执行的操作将记录到记录器中。

owner,group创建压缩文件时使用所有者和组。默认使用当前所有者和组。

logger用于记录日志,通常是logging.logger的实例对象。

shutil.get_archive_formats():返回支持的存档格式(文件扩展名)列表,每个元素都是一个元组(名称、描述)

shutil.register_archive_format(name, function[, extra_args[, description='']])

注册一个格式名并绑定到一个压缩时使用的程序

function是用于解包存档文件的可调用函数。可调用文件将接收要创建的文件的基目录名,然后接收要从中开始存档的基目录(默认为os.curdir)。其他参数作为关键字参数传递:owner、group、dry_run和logger(在make_archive()中传递)。

extra_args参数是(name,value)对的序列,当使用压缩文件调用function时,这些将用作额外的关键字参数。

description由get_archive_formats()返回存档程序列表中使用。

shutil.unregister_archive_format(name):从支持的格式列表中删除存档格式名称

解压缩文件:

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

解包文件。filename是完整路径。extract_dir是解包的目标目录名称。如果未提供使用当前工作目录。format如果指定则使用指定算法解包,如果format未指定将使用压缩文件的扩展名,如果format未注册解包程序,引发ValueError

shutil.register_unpack_format(name, extensions, function[, extra_args[, description]])

注册解包格式。name是格式的名称,extensions是与格式相对应的扩展名列表。

function是用于解包存档文件的可调用函数。可调用文件将接收存档文件的路径,后跟存档文件的解包目录。

extra_args额外的参数是(名称、值)元组的序列,将作为关键字参数传递给可调用对象。

description由get_unpack_formats()返回注册的解压缩格式列表中使用

shutil.unregister_unpack_format(name):注销解包格式

shutil.get_unpack_formats():返回所有已注册的解包格式的列表。列表的每个元素都是一个元组(名称、扩展名、描述)

终端窗口大小:

shutil.get_terminal_size(fallback=(columns, lines))

获取终端窗口的大小。返回值是类型为os.terminal_size的命名元组

最后编辑:2019-04-29作者:qingheluo

这个作者貌似有点懒,什么都没有留下。

python shutil_python的shutil模块相关推荐

  1. python shutil_Python之shutil模块的使用

    shutil模块的作用 主要用于文件或目录的复制或归档的操作 1.复制文件,如果没有权限的话,会抛出IOError异常 importshutilimportglobprint('之前的目录',glob ...

  2. python shutil_python中shutil模块

    shutil是对OS中文件操作的补充:移动.复制.打包.压缩.解压. 1.copy文件内容到另一个文件,可以copy指定大小的内容. shutil.copyfileobj(fsrc, fdst[, l ...

  3. Python第二十天 shutil 模块 zipfile tarfile 模块

    Python第二十天  shutil 模块  zipfile   tarfile 模块 os文件的操作还应该包含移动 复制  打包 压缩 解压等操作,这些os模块都没有提供 shutil 模块 shu ...

  4. python中的shutil模块

    shutil模块 引入: import shutil copy() 功能:复制文件 格式:shutil.copy('来源文件','目标地址') 返回值:复制之后的路径 copy2() 功能:复制文件, ...

  5. Python文件操作-shutil 模块(参考)

    shutil 模块 1. shutil.copyfile( src, dst) 从源src复制到dst中去.当然前提是目标地址是具备可写权限.抛出的异常信息为 IOException. 如果当前的ds ...

  6. Python OS和shutil模块的常见方法

    1.列出指定目录下所有的文件 os.listdir() 2.路径拼接 os.path.join() 3.删除文件 os.remove() 删除文件夹 import shutilshutil.rmtre ...

  7. python shutil模块用法实例分析_Python shutil模块用法实例分析

    分享大神指教Python中的shutil模块的rmtree()方法如分享大神指教Python中的shutil模块的rmtree()方法如何实现.思路是怎样的rmtree() 是用来删除文件目录及其中的 ...

  8. Python Shutil模块

    When you need to work with high-level file operations like copying contents of a file, create a new ...

  9. 【python】shutil模块

    大家好,我是胡亥大魔王.今天介绍python中的shutil模块 shutil (或称为 shell 工具)模块中包含一些函数,可以在python程序中复制.移动.改名和删除文件 复制文件和文件夹 复 ...

最新文章

  1. 数据算法算力知识反绎学习
  2. Anaconda 查找安装的环境,以及移除旧环境命令
  3. 老生常谈:注释怎么写?
  4. tensorflow 滑动平均使用和恢复
  5. 神经网络优化算法总结【SGD】---【Adam】
  6. H5炫酷特效系列3——瀑布流水特效
  7. Java常用api和操作必背
  8. 机器人社社长事迹_国际机器人大赛冠军背后的故事
  9. MySQL 宣布停止使用 master、slave!
  10. java-Servlet编码/异常处理
  11. 人生苦短我要学python壁纸_人生苦短我学Python——环境安装
  12. 不能说的秘密-重载、重写与继承中的构造方法
  13. 前端学习白嫖-QQ音乐
  14. lammps免费学习资料汇总
  15. 开源一个cmpp协议转http协议项目
  16. 导航栏的HTML的布局方式
  17. 安装操作系统找不到任何驱动器的解决方法
  18. android短视频列表自动播放,手把手教你实现视频列表滚动自动播放-短视频列表滚动播放实战...
  19. 关于gitlab报错 would clobber existing tag 的解决办法
  20. MySQL数据库入门(十)多表复杂查询练习及讲解-下

热门文章

  1. windows下protoc的安装配置
  2. H5页面唤醒app的方法
  3. C语言字符数组、指针总结
  4. FlashFXP定时下载服务器文件,进行网站备份
  5. 计算机自动化考研英语应达到几级,考研英语需要过几级?
  6. Linux下QQ--lumaqq(转)
  7. 9s oppo r 怎么root_OPPO R811 ROOT过程总结
  8. QT在VS环境下双击*.ui打不开Qt designer(Qt设计师)的解决方法
  9. 艾司博讯:拼多多如何设置客服号
  10. python批量直方图均衡化_直方图均衡化-Python实现