一、简介

shutil – Utility functions for copying and archiving files and directory trees.(用于复制和存档文件和目录树的实用功能。)

二、实例

#!/usr/bin/python3
# -*- coding:utf-8 -*-
__author__ = 'mayi'
__date__ = '2018/4/17' """
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
博客:http://www.cnblogs.com/mayi0312/
功能:shutil模块的使用
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
""" import shutil # 1 shutil.copyfileobj(fsrc, fdst[, length=16*1024])
# copy文件内容到另一个文件,可以copy指定大小的内容
# 注意! 在其中fsrc,fdst都是文件对象,都需要打开后才能进行复制操作
f1 = open("1.txt", "r")
f2 = open("2.txt", "w+")
shutil.copyfileobj(f1, f2) # 2 shutil.copyfile(src,dst)
# copy文件内容,是不是感觉上面的文件复制很麻烦?还需要自己手动用open函数打开
# 文件,在这里就不需要了,事实上,copyfile调用了copyfileobj
shutil.copyfile("1.txt", "3.txt") # 3 shutil.copymode(src,dst)
# 仅copy权限,不更改文件内容,组和用户。
shutil.copymode("1.txt", "3.txt") # 4 shutil.copystat(src,dst)
# 复制所有的状态信息,包括权限,组,用户,时间等
shutil.copystat("1.txt", "3.txt") # 5 shutil.copy(src,dst)
# 复制文件的内容以及权限,先copyfile后copymode
shutil.copy("1.txt", "4.txt") # 6 shutil.copy2(src,dst)
# 复制文件的内容以及文件的所有状态信息。先copyfile后copystat
shutil.copy2("1.txt", "5.txt") # 7 shutil.copytree(src, dst, symlinks=False, ignore=None, copy_function=copy2,ignore_dangling_symlinks=False)
# 递归的复制文件内容及状态信息
shutil.copytree("1", "2") # 8 shutil.rmtree(path, ignore_errors=False, onerror=None)
# 递归地删除文件
shutil.rmtree("2") # 9 shutil.move(src, dst)
# 递归的移动文件
shutil.move("1", "2") # 10 make_archive(base_name, format, root_dir=None, base_dir=None, verbose=0,dry_run=0, owner=None, group=None, logger=None)
# 压缩打包
# base_name: 压缩打包后的文件名或者路径名
# format: 压缩或者打包格式 "zip", "tar", "bztar"or "gztar"
# root_dir: 将哪个目录或者文件打包(也就是源文件)
shutil.make_archive("压缩包", "zip", r"2") # 入口函数
if __name__ == '__main__':
pass

  

常用模块 - shutil模块的更多相关文章

  1. os模块,os.path模块,subprocess模块,configparser模块,shutil模块

    1.os模块 os表示操作系统该模块主要用来处理与操作系统相关的操作最常用的文件操作打开 读入 写入 删除 复制 重命名 os.getcwd() 获取当前执行文件所在的文件夹路径os.chdir(&q ...

  2. python day 9: xlm模块,configparser模块,shutil模块,subprocess模块,logging模块,迭代器与生成器,反射

    目录 python day 9 1. xml模块 1.1 初识xml 1.2 遍历xml文档的指定节点 1.3 通过python手工创建xml文档 1.4 创建节点的两种方式 1.5 总结 2. co ...

  3. s14 第5天 时间模块 随机模块 String模块 shutil模块(文件操作) 文件压缩(zipfile和tarfile)shelve模块 XML模块 ConfigParser配置文件操作模块 hashlib散列模块 Subprocess模块(调用shell) logging模块 正则表达式模块 r字符串和转译

    时间模块 time datatime time.clock(2.7) time.process_time(3.3) 测量处理器运算时间,不包括sleep时间 time.altzone 返回与UTC时间 ...

  4. Day5模块-shutil模块

    参考博客:http://www.cnblogs.com/wupeiqi/articles/4963027.html shutil模块是高级的文件.文件夹.压缩处理的模块.比如文件的copy.压缩等. ...

  5. python------模块定义、导入、优化 ------->sys模块,shutil模块

    1.sys模块 import sys sys.argv #命令行参数List,第一个元素是程序本身路径sys.exit(n) #退出程序,正常退出时exit(0).sys.version #获取Pyt ...

  6. python笔记7 logging模块 hashlib模块 异常处理 datetime模块 shutil模块 xml模块(了解)

    logging模块 日志就是记录一些信息,方便查询或者辅助开发 记录文件,显示屏幕 低配日志, 只能写入文件或者屏幕输出 屏幕输出 import logging logging.debug('调试模式 ...

  7. Python全栈之路----常用模块----shutil模块

    高级的 文件.文件包.压缩包 处理模块   参考Python之路[第四篇]:模块     #src是原文件名,fdst是新文件名 shutil.copyfileobj(fsrc, fdst[, len ...

  8. os模块+sys模块+random模块+shutil模块

    os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径os.chdir("dirname") 改变当前脚本工作目录:相当于shell下cdos.curdir ...

  9. day19:os模块&shutil模块&tarfile模块

    os模块:对系统进行操作(6+3) system  popen  listdir  getcwd  chdir  environ / name  sep  linesep import os #### ...

随机推荐

  1. Ta们,用云计算改变着更多普通人的生活,所以,我们1218

    维族音乐的传承者:为家园建设生态农业:为50万货运司机谋福利:电视游戏行业复兴的倡导者:......还有很多平凡普通的人,不同的主角.不同的情节,用自己的云上轨迹在点滴改变着我们的周遭世界.所以,我们 ...

  2. SharePoint 2013 - REST API about Security

    1. 获取当前用户信息(current user): var currentUserInfo = "{0}/_api/Web/CurrentUser"; // {0} -> ...

  3. c# 依赖注入之---setterInjection(转)

    图3.1 Setter注入示意 定义一个接口: namespace SetterInjection { internal interface IServiceClass { string Servic ...

  4. Markdown学习使用

    本文记录Markdown的基础应用. 一.基础知识 Markdown 是一种标记语言 文件后缀名:.md 编辑工具:VSCode(visual studio code) VSCode中预览模式快捷键: ...

  5. 新款Macbook 安装任意来源软件教程 mac软件下载资源推荐

    防止无良爬虫,开头附上原文链接:http://www.cnblogs.com/xueyudlut/p/7810981.html ------分割线--------------------------- ...

  6. 取多个name值相同的input里面的值

    html 中是允许多个具有相同name属性的元素的,例如服务器端读取的常规做法是: string name = Request.Params["txtName"]; 得到的将是一串 ...

  7. 罗大佑 光阴的故事 ZT 欧美经典歌曲100首(1-50)

    老俞 my idol ———————————————————————————————— 罗大佑 光阴的故事 歌曲光阴的故事为2008年入库,是罗大佑在2000-1-1发行的专辑<情歌精选> ...

  8. 用jquery实现的简单数据双向绑定

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  9. SAP S/4HANA生产订单的BAdI增强点之Initialize方法

    在S/4HANA里创建生产订单时,有一个增强点WORKORDER_UPDATE: 这个CAUFVDB里存放的是生产订单抬头级别的数据: 我们来观察下运行时这个结构里存放的数据. 请大家用我github ...

  10. MATLAB入门学习(整合)

    整合一下,都是链接地址: MATLAB入门学习(一):初次使用.. MATLAB入门学习(二):矩阵相关 MATLAB入门学习(三):矩阵常用函数 MATLAB入门学习(四):编写简单.m文件和函数文 ...