Python 拷贝文件的3种常用方法
儿童文学
来源:本站
2019-07-09

Python 拷贝文件的3种常用方法

我想大家在工作中经常会需要有一些关于文件拷贝之类的操作或者去写这方面的插件,所以今天为大家来讲一讲关于使用python来拷贝文件常用的3种方法,以及这三种方法之间速度的对比,相信大家看完之后会有所收获。 1.使用Python标准库shutil相信大多数朋友都在使用这个shutil的copytree和copy2函数进行拷贝操作,copytree函数是用来拷贝文件夹的,而copy2可以进行单个文件的拷贝。 使用方法也很简单,都是有两个参数,第一个参数是要拷贝的路径,另外一个参数是拷贝到的路径。

eg:("D:/testa","D:/testb")("D:/testa/","D:/testb/")2.使用cmd命令robocopy对于cmd的复制操作,经常写bat的朋友们肯定会想到的是copy和xcopy,虽然这两个都很好用,但是都太古老了,而且速度都很慢。

微软在vista后内嵌了一个拷贝神器robocopy,这个神器在win7后还支持了多线程。

关于他的有哪些参数我们可以在cmd中输入robocopy/进行查看。

大家也可以在这个链接里面查看到用法:http:///item/robocopy这里我给大家一个用python调用这个命令的简单小例子,大家可以根据自己生产中的情况自己添加其中的一些参数。 eg:importosdefrobocopy(source,target,thread=8):("robocopy%s%s/MT:%d/E"%(("/","\\"),("/","\\"),thread))robocopy("D:/source_test","D:/copy_test")注意:cmd中的命令只认\,而不认/,因此路径需要转成成“\\”。

3.使用第三方工具fastcopyfastcopy这个工具是一款免费开源的文件拷贝工具,最重要的是他支持命令行。

fastcopy下载地址:https:///tools/关于参数命令大家可以输入fastcopy/或者参考下面这个文章进行学习。 http:///jingyan/这里依然给大家一个Python调用的小例子,供大家学习。 eg:deffastcopy(source,target,buf=128):(r"D:\fastcopy\fastcopy/cmd=noexit_only/auto_close/bufsize=%d%s/to=%s"%(buf,("/","\\"),("/","\\")))fastcopy("D:/source_test","D:/copy_test")基本最常用的就是这3种方法,然后我们来说下这3种拷贝的速度,最近几天在公司正好做了这3个方法的用时测试,这里我直接给大家看一下。

(文件都是从服务拷到本地,数据中的值单位为秒)。