如何在python项目中使用shutil文件操作工具?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
<强>一:shutil。copyfileobj (fsrc fdst[23]) 强>
将fsrc的内容复制到fdst。如果给出整数长度,则为缓冲区大小。注意,fsrc, fdst,必须是已经打开的文件,而不能传入文件名的字符串
def copyfileobj (fsrc, fdst,,长度=16 * 1024): “““才能copy data 得到file-like object fsrc 用file-like object fdst"““ while 才能;1: ,,,buf =, fsrc.read(长度) ,,,if not 缓冲区: ,,,,,休息 ,,,fdst.write (buf)
代码如下:
f1 =,开放(“111. txt",,“r",编码=皍tf-8") 时间=f2 开放(“222. txt",,“w",,编码=皍tf-8") shutil.copyfileobj (fsrc=https://www.yisu.com/zixun/f1, fdst=f2,长度=15)
<强>二:def拷贝文件(src, dst, *, follow_symlinks=True) 强>
直接拷贝整个文件。
运用代码如下:
shutil.copyfile (“111. txt",,“333. txt")
后面333.的三种可以不是已经存在的,如果存在的话,则会被覆盖掉。
<强>三:shutil。复制方式(src, dst、*、follow_symlinks=True) 强>
只是会复制其权限其他的东西是不会被复制的
代码运用如下:
shutil.copymode (“111. txt",,“333. txt")
注意,这里的111人。txt 333. txt都必须是已经存在的,表示把前者的权限复制到后者,也可以理解为给后者添加前者的权限。但不会改变后者的内容。
<强>四:shutil。copystat (src, dst、*、follow_symlinks=True) 强>
和上面的复制方式类似,但copystat复制权限,最后访问时间,最后修改时间,以及从src到dst的标志。也不会改变后者的内容
shutil.copystat (“111. txt",,“333. txt")
<强>五:shutil。副本(src, dst、*、follow_symlinks=True) 强>
复制一个文件到一个文件或一个目录,如果dst指定目录,则使用src中的基本文件名将文件复制到dst中。返回新创建文件的路径。
复制到文件和前面类似:
shutil.copy (“111. txt",, dst=?44. txt")
复制到目录,就是说我们可以只给第二个参数指定一个路径,以原名字复制到指定路径,像这样:
shutil.copy (“111. txt",, dst=癉: \ \ 222. txt")
而前面的拷贝文件则必须再路径后面加上命名,以给定的名字复制到指定路径,像这样:
shutil.copy (“111. txt",, dst=癉: \ \ 222. txt")
<强>六:shutil。copy2 (src, dst、*、follow_symlinks=True) 强>
在副本上的基础上再复制文件最后访问时间与修改时间也复制过来了,类似于cp - p的东西
<强>七:shutil。copytree (src, dst,符号链接=False,忽略=None, copyfunction=copy2 ignore_dangling_symlinks=False) 强>
拷贝目录,如果第3个参数是正确的,则复制目录时将保持文件夹下的符号连接,如果第3个参数是错误的,则将在复制的目录下生成物理副本来替代符号连接
shutil.copytree (src=https://www.yisu.com/zixun/笆弧?dst=?2”)
注意:如果目录不在同一路径下,需要在前面加上绝对或相对路径
<强>八:shutil。rmtree(路径,ignore_errors=False, onerror=None) 强>
递归删除一个目录以及目录内的所有内容:
代码如下:
shutil.rmtree (“E: \ py 项目\ python_ku \ subprocess_demo \ \ 11“)
<强>九:shutil。移动(dst src copyfunction=copy2) 强>
递归地将文件或目录(src)移动到另一个位置(dst)并返回目标
shutil.move (src=https://www.yisu.com/zixun/笆弧?dst=癉://?
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对的支持。