简介

shutil模块提供了大量的文件的高级操作。特别针对文件拷贝和删除,主要功能为目录和文件操作以及压缩操作。对单个文件的操作也可参见os模块。

拷贝文件

shutil.copyfile(src, dst):复制文件内容(不包含元数据)从src到dst。 DST必须是完整的目标文件名;拷贝目录参见shutil.copy()。如果src和dst是同一文件,就会引发错误shutil.Error。dst必须是可写的,否则将引发异常IOError。如果dst已经存在,它会被替换。特殊文件,例如字符或块设备和管道不能使用此功能,因为copyfile会打开并阅读文件。 src和dst的是字符串形式的路径名。

shutil.copyfile("shutil_copyfile.py","shutil_copyfile.py.copy")

copyfile()调用了底函数层copyfileobj()。

shutil.copyfileobj(fsrc, fdst[, length]):复制文件内容(不包含元数据)从类文件对象src到类文件对dst。可选参数length指定缓冲区的大小,负数表示一次性读入。默认会把数据切分成小块拷贝,以免占用太多内存。注意:拷贝是从fsrc的当前文件开始。

copyfileobj(fsrc, fdst, length=16*1024)

shutil.copy(src, dst):复制文件src到文件或目录dst。如果dst是目录,使用src相同的文件名创建(或覆盖),权限位也会复制。src和dst的是字符串形式的路径名。

1 defcopy(src, dst):2 """Copy data and mode bits ("cp src dst").3

4 The destination may be a directory.5

6 """

7 ifos.path.isdir(dst):8 dst =os.path.join(dst, os.path.basename(src))9 copyfile(src, dst)10 copymode(src, dst)

shutil.copy2(src, dst): 类似shutil.copy,元数据也复制,实际上先调用shutil.copy,然后使用copystat。这类似于Unix命令cp -p。

defcopy2(src, dst):"""Copy data and all stat info ("cp -p src dst").

The destination may be a directory."""

ifos.path.isdir(dst):

dst=os.path.join(dst, os.path.basename(src))

copyfile(src, dst)

copystat(src, dst)

拷贝文件元数据

当由UNIX下创建文件默认基于umask设置权限,copymode()可以复制权限。

shutil.copymode(src, dst):从SRC复制权限位到DST。该文件的内容,所有者和组不受影响。src和dst的是字符串形式的路径名。

copymode('shutil_copymode.py', 'file_to_change.txt')

要想拷贝文件时间戳,需要copystat。

shutil.copystat(src, dst): 从src复制权限位,最后访问时间,最后修改时间,flag到dst。该文件的内容,所有者和组不受影响。 src和dst的是给定的字符串路径名。

opystat('shutil_copystat.py', 'file_to_change.txt')

压缩解压

2.7以后的版本提供了压缩和解压功能。

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

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

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

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

owner:用户,默认当前用户

group:组,默认当前组

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

ret = shutil.make_archive("backup","tar",root_dir="/home/www/") #将/home/www目录下的文件进行备份,生成backup.tar的文件,其中tar为压缩包的后缀,www为压缩包文件名

指定目录备份:

>>> shutil.make_archive("/tmp/backup","tar",root_dir="/usr/local/python35")

'/tmp/backup.tar'

windows定时任务python shutil_python- shutil 高级文件操作相关推荐

  1. python shutil_Python3 shutil(高级文件操作模块)

    1.shutil是shell utility的缩写 shutil.move直接从一个地方挪到另一个地方,而os.rename常常只能重命名,不能挪动位置. 功能是:>>>shutil ...

  2. [06]python3 shutil高级文件操作模块

    1.shutil是shell utility的缩写 shutil.move直接从一个地方挪到另一个地方,而os.rename常常只能重命名,不能挪动位置. 功能是: >>>shuti ...

  3. Python3 shutil(高级文件操作 模块)

    原文: http://blog.csdn.net/Rozol/article/details/72672698 #!/usr/bin/env python # coding=utf-8 __autho ...

  4. python中shutil模块的用法-高级文件操作模块

    目录 前言 一.shutil是什么? 二.使用步骤 1. 安装shutil库 2. shutil库的使用 3. 复制函数 3.1 shutil.copy(src,dst) ==> 拷贝文件和权限 ...

  5. Python内置模块---高级文件操作模块

    高级文件操作模块 code: # ************************************************************* """ 高级 ...

  6. python shutil_Python shutil模块

    shutil模块下 copy(复制).rm(删除).move(移动) 常用方法举例. copyfileobj(fsrc, fdst[, length]) copyfile(src, dst, *, f ...

  7. Python中的File(文件)操作

    Python中的File(文件)操作 针对磁盘中的文件的读写.文件I/O I 输入(input) O输出(Output) 文件操作步骤:1.打开文件 2.读写文件 3.关闭文件 写入文件的操作:(把大 ...

  8. 详解Python中的File(文件)操作

    目录 Python中的File(文件)操作 写入文件的操作: 读取文件的操作: 一.文件操作相关函数 1. open() 打开文件 2. seek() 设置文件指针的位置 3. write() 写入内 ...

  9. linux服务器批量文件上传,Windows定时任务下载linux服务器批量文件到本地

    编写批文件 1.1 编写main.bat文件 E: cd logs ftp -n -s:"E:\logs\mget.bat" 1.2 编写mget.bat文件 open ip地址 ...

最新文章

  1. 2022-2028年中国粘网胶行业市场深度评估及发展前景规划报告
  2. Unreal Engine+Houdini创造程序性游戏场景视频教程
  3. 2020 蚂蚁面试指南!
  4. Centos 安装Docker
  5. Command of SVN for linux
  6. 高性能必须有 多活塞卡钳
  7. 解决Win10不能访问共享文件夹的问题
  8. 【SQL编程】Greenplum 数据库通过 timestamp 类型字段值实现数据的(日期时段筛选+时间时段筛选)跨天时段及不跨天时段SQL详情
  9. presto领读 查询引擎翻译
  10. Content后台的获取为什么为空
  11. springboot项目实现定时任务,使用标签@Scheduled
  12. m3u8格式转换mp4软件_怎么把mkv格式转换成mp4?教你转换mkv格式的方法
  13. DNN Navisuite菜单模块原始XML文件的格式
  14. 大数据分析常见的几种方法
  15. Thinking in Java 16.3返回一个数组
  16. 如何制作媲美memz的炫酷特效恶搞程序
  17. SEO源码自建快排系统
  18. 每周一题3_杭电ACM_Tian Ji -- The Horse Racing
  19. 【LSSVM回归预测】基于matlab麻雀算法优化LSSVM回归预测【含Matlab源码 1128期】
  20. linux下常用命令wget进行整站下载

热门文章

  1. Linux IPC实践(3) --具名FIFO
  2. @ControllerAdvice + @ExceptionHandler 全局处理 Controller 层异常
  3. mysql 5.6 利用gtid 同步数据遇到的问题记录
  4. javascript 获取DropDownList选定值的方法
  5. Linux文件管理常用命令
  6. java 的类和接口的变量调用
  7. 在子线程中更改主线程中的控件的信息,在子线程中用toast
  8. VSTS 离线源码版本辅助工具
  9. SpringBoot项目 整合 JacksonXml
  10. 丁丁打折网卷能用吗_超市货架上就能买到的好用护发素,平价好用,打折时可以多囤点...