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文件操作专题,请查看:

python常用文件操作汇总

python文件夹操作汇总

python文件操作汇总

以上是 python实现复制文件到指定目录 的全部内容, 来源链接: utcz.com/z/341901.html

回到顶部