加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

运行bash命令在Python3中复制粘贴文件是否可靠?

发布时间:2020-12-17 17:36:51 所属栏目:Python 来源:网络整理
导读:使用以下代码在Python3中复制文件需要花费大量时间: shutil.copy(self.file,self.working_dir) 但是,Linux的cp命令非常快.如果我尝试从Python3执行bash命令来复制大小大于100GB的文件,那么这对于生产服务器是否是可靠的选择? 我已经看到this的答案,但是它

使用以下代码在Python3中复制文件需要花费大量时间:

shutil.copy(self.file,self.working_dir)

但是,Linux的cp命令非常快.如果我尝试从Python3执行bash命令来复制大小大于100GB的文件,那么这对于生产服务器是否是可靠的选择?

我已经看到this的答案,但是它的建议不是很快.

最佳答案
如果您在Windows上运行,则Python的复制缓冲区大小可能太小:https://stackoverflow.com/a/28584857/679240

您将需要实现类似于以下内容的警告(警告:未经测试):

def copyfile_largebuffer(src,dst,length=16*1024*1024):
    with open(newfile,'wb') as outfile,open(oldfile,'rb') as infile:
        copyfileobj_largebuffer(infile,outfile,length=length)

def copyfileobj_largebuffer(fsrc,fdst,length=16*1024*1024):
    while 1:
        buf = fsrc.read(length)
        if not buf:
            break
        fdst.write(buf)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读