小编给大家分享一下python如何复制文件到指定目录,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
这几天在做一个数据集,由于不是很熟悉Linux下的命令,所以特地用了强大的python来做。我之前有一个数据集但是我只要里面名称带有composite和normals的图片,所以找了网上的文章看到了用shutil.copyfile来实现的方法。
# -*- coding: utf-8 -*- import os,shutil #shutil.copyfile应用,参数必须具体到文件名 def mycopyfile(srcfile,dstfile): if not os.path.isfile(srcfile): print("%s not exit!" % (srcfile)) else: fpath,fname=os.path.split(dstfile) if not os.path.exists(fpath): os.makedirs(fpath) shutil.copyfile(srcfile,dstfile) #print("copy %s" % (srcfile,dstfile)) #这个是找到图片的实际地址 def find_filepath(dir1_name,dir2_name,i,file_name=''): file_path=os.path.join(dir1_name ,dir2_name ,str(i)+file_name+'.png') return file_path #这个是我自己的实际应用 if __name__=='__main__': dir_name=['airplane_test','bottle_test','bunny_test','car_test','motorbike_test','suzanne_test','teapot_test'] obj=['_composite','_normals'] cnt=0 for i in range(7): direction=dir_name[i] #print(direction) for j in range(400): print(direction,j) source1=find_filepath('intrinsic',direction,j,obj[0]) #源地址 source2=find_filepath('intrinsic',direction,j,obj[1]) #源地址 dst1=find_filepath('image2norm','testA',cnt) #目标地址 dst2=find_filepath('image2norm','testB',cnt) #目标地址 mycopyfile(source1,dst1) mycopyfile(source2,dst2) cnt+=1
值得注意的是,shutil.copyfile(srcfile,dstfile)里面srcfile和dstfile必须是文件名,不能是文件夹。具体应用可以参考上面的main。
如果想要复制文件夹下的全部文件而又不清楚文件的具体数目,可以采用以下os.listdir的方法列出该文件夹下所有文件的名称,
file_path='./resuls' dirs=os.listdir(file_path) for dir in dirs: print(dir)
以上是“python如何复制文件到指定目录”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。