Python shutil模块(目录和文件操做)

import shutil  #导入shutil模块

copyfileobj方法python

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

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

我通常的用法:spa

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

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

copyfile方法code

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

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

目标位置必须是可写的。不然将引起OSError异常。若是dst已存在,它将被替换。blog

若是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 文件。

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

如:

1 a=shutil.ignore_patterns('*.py')
2 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 来更名字移动到目标位置。(应该是吧。我用的时候这个老报错,移动是移动过去了,结果原文件还在,也是很奇怪。)

 

 

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

相关文章
相关标签/搜索