import shutil  #导入shutil模块

copyfileobj方法

将类文件对象fsrc的内容复制到类文件对象fdst

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

我一般的用法:

shutil.copyfileobj(open('file','r'),open('file','w'))

注:如果fsrc对象的当前文件位置不为0,那么将只复制从当前文件位置到文件末尾的内容

copyfile方法

将名为src的文件的内容复制到名为dst的文件中,并返回dst。src和dst是作为字符串给出的路径名

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

目标位置必须是可写的。否则将引发OSError异常。如果dst已存在,它将被替换。

如果follow_symlinks为false,并且src是一个符号链接,那么将创建一个新的符号链接,而不是复制文件src指向(这是python文档里直接有道翻译出来的,我也没看懂是啥意思。学的还是太浅了········)

copymode方法

拷贝权限,文件内容、所有者和组不受影响。

shutil.copymode(src,dst,*,follow_symlinks=True)

src和dst是作为字符串给出的路径名

copystat方法

将权限位、最后访问时间、最后修改时间和标记从src复制到dst

shutil.copystat(src,dst,*,follow_symlinks=True)

copy方法

将文件src复制到文件或目录dst

shutil.copy(src,dst,*,follow_symlinks=True)

src和dst都是字符串,一般用法如下:

shutil.copy(r'要复制的文件路径(路径+文件)',r'复制到的路径')

注:要复制到的路径是存在的才行,不存在该路径会报错。

copy2方法

与copy()方法相同,只是copy2()还试图保存所有文件元数据。

shutil.copy2(src, dst, *, follow_symlinks=True)

copytree方法

递归的复制文件,该方法可以理解为复制电脑上某个文件夹以及文件夹内的东西到另一个文件夹

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

其中dst的路径的最后一级必须是不存在的。如:D:\tools 这里的tools这个文件夹必须是不存在的。由python创建。

这里的ignore参数需要结合下列方式

shutil.ignore_patterns(*patterns)

我的理解就是需要忽视的文件的模式。用法如下:

shutil.copytree(src,dst,ignore=ignore_patterns('*.py'))

这里的意思就是把 src目录下的文件都复制到 dst 目录下但是忽略掉 .py 文件。

注:这里要先定义一个需要忽略的文件的模式

如:

 a=shutil.ignore_patterns('*.py')
shutil.copytree(src,dst,ignore=a)

 rmtree方法

shutil.rmtree(path)

递归的形式删除 path 目录,以及目录下的所有文件

move方法

shutil.move(src,dst)

递归的形式移动 src 到 dst

如果dst是个现有的目录 python 会将src移动到dst内 ,dst如果是个不存在的目录 会调用os.ename 来改名字移动到目标位置。(应该是吧。我用的时候这个老报错,移动是移动过去了,结果原文件还在,也是很奇怪。)

正在学习中······,学到新的东西会来修改或更新。

Python shutil模块(目录和文件操作)的更多相关文章

  1. python shutil 模块 的剪切文件函数 shutil.movemove(src, dst),换用 os.rename(sourceFile, targetFile)

    Google 一搜python 剪切文件,出来shutil 这模块,网上很多人也跟疯说shutil.move(src, dst)就是用来剪切文件的,结果一试,剪切毛线,文件都复制到另一个文件夹了,源文 ...

  2. [Python] 目录和文件操作

    在Linux系统下用Python写脚本,肯定不能避免各种与目录和文件夹有关的操作.为了以后方便查阅,简单地针对Python中与目录和文件夹有关的操作进行汇总. 需要实现导入的模块为: import o ...

  3. python目录和文件操作

    一.python中对文件.文件夹操作时经常用到的os模块和shutil模块常用方法. 要操作目录,必须引入os模块 import os1.得到当前工作目录,即当前Python脚本工作的目录路径: os ...

  4. python shutil模块简单介绍

    python shutil模块简单介绍 简介 shutil模块提供了大量的文件的高级操作.特别针对文件拷贝和删除,主要功能为目录和文件操作以及压缩操作. shutil 模块方法: copy(src, ...

  5. (Python )格式化输出、文件操作、json

    本节学习Python的格式化输出,文件操作以及json的简单用法 1.格式化输出 将非字符串类型转换成字符串,可以使用函数:str() 或者repr() ,(这两个函数的区别目前我还没搞懂,求解答) ...

  6. 11 python shutil 模块

      shutil 模块 高级的 文件.文件夹.压缩包 处理模块 1.将文件内容拷贝到另一个文件中 import shutil f1 = open('os_模块.py','r',encoding='ut ...

  7. Linux 目录和文件操作

    Linux常用命令--目录和文件操作 [目录]删除.复制.移动 : 1.删除文件夹用:rmdir 文件夹名 但是rmdir不能删除非空的文件夹,那如何删除非空文件夹呢: 2.通常情况下,删除文件用:r ...

  8. Python os模块--路径、文件、系统命令等操作

    os模块包含普遍的操作系统功能. 注意:函数参数path是文件或目录的路径,filename是文件的路径,dirname是目录的路径,路径可以是相对路径,也可绝对路径 常见或重要的函数为加粗字体 os ...

  9. [python]目录及文件操作

    Python OS模块和shutil模块 获取路径 # 获取当前路径 pwd = os.getcwd() # 获取上级路径 a_pwd = os.path.abspath(os.path.dirnam ...

随机推荐

  1. sql server 2008安装的时候选NT AUTHORITY\NEWORK SERVICE 还是选 NT AUTHORITY\SYSTEM ?

    sql server 2008安装的时候选NT AUTHORITY\NEWORK SERVICE 还是选 NT AUTHORITY\SYSTEM ? sql server 2008安装的时候选NT A ...

  2. 2018.10.09 NOIP模拟 路途(递推+矩阵快速幂优化)

    传送门 签到题.(考试的时候写挂爆0) 令AiA_iAi​表示邻接矩阵的iii次幂. 于是就是求Al+Al+1+...+ArA_l+A_{l+1}+...+A_rAl​+Al+1​+...+Ar​. ...

  3. 2018.09.10 bzoj1597: [Usaco2008 Mar]土地购买(斜率优化dp)

    传送门 终究还是通宵了啊... 这是一道简单的斜率优化dp. 先对所有土地排序,显然如果有严格小于的两块土地不用考虑小的一块. 于是剩下的土地有一条边单增,另外一条单减. 我们假设a[i]是单减的,b ...

  4. tred_extract_EDED_new

    # -*- coding:utf-8 -*- import re ''' 适应新版本 ''' year='17a'#用户自定义 ss='./data/'#根目录 filename = ss+'EDED ...

  5. Hdu1978 How many ways 2017-01-18 14:32 40人阅读 评论(0) 收藏

    How many ways Time Limit : 3000/1000ms (Java/Other)   Memory Limit : 32768/32768K (Java/Other) Total ...

  6. PAT甲 1012. The Best Rank (25) 2016-09-09 23:09 28人阅读 评论(0) 收藏

    1012. The Best Rank (25) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue To eval ...

  7. hdu 5018

    http://acm.hdu.edu.cn/showproblem.php?pid=5018 任意给你三个数,让你判断第三个数是否在以前两个数为开头组成的Fibonacci 数列中. 直接暴力 #in ...

  8. Android-Android版美图秀秀

    Android版美图秀秀,主要是修改图片的显示效果,修改图片的透明的显示范围,修改图片的红色显示范围,修改图片绿色显示范围,修改图片蓝色显示范围: 想要修改图片的颜色就必须要重新绘制,一想到重新绘制就 ...

  9. SQL SERVER 2008 附加数据库出现只读问题。

    问题描述 在附加数据库时出现的图片:   解决办法 步骤一,修改文件夹的 1.打开该数据库文件存放的目录或数据库文件的属性窗口,选择"属性"菜单->选择"安全&qu ...

  10. python中list的sort方法

    转:https://www.cnblogs.com/zle1992/p/6271105.html 使用python对列表(list)进行排序,说简单也简单,说复杂也复杂,我一开始学的时候也搞不懂在说什 ...