python实现复制文件到指定目录

yipeiwu_com6年前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设计】。

相关文章

Python API自动化框架总结

Python API自动化框架总结

学完了Python脚本接口自动化之后,一直没有对该框架做总结,今天终于试着来做一份总结了。 框架结构如下图: 来说一下每个目录的作用: Configs:该目录下存放的是.conf,.i...

在Python中操作字符串之rstrip()方法的使用

 rstrip()方法返回所有字符都被去除的字符串(缺省为空格字符)结束字符串的副本。 语法 以下是rstrip()方法的语法: str.rstrip([chars])...

Python二维码生成库qrcode安装和使用示例

Python二维码生成库qrcode安装和使用示例

二维码简称 QR Code(Quick Response Code),学名为快速响应矩阵码,是二维条码的一种,由日本的 Denso Wave 公司于 1994 年发明。现随着智能手机的普...

Python实现的多进程拷贝文件并显示百分比功能示例

本文实例讲述了Python实现的多进程拷贝文件并显示百分比功能。分享给大家供大家参考,具体如下: centos7下查看cup核数: # 总核数 = 物理CPU个数 X 每颗物理CPU...

关于numpy数组轴的使用详解

关于numpy数组轴的使用详解

概述 按照图一中aixs=0,对aixs=0上下对应的数据进行相加在学习numpy的时候,最难理解的就是轴的概念,我们知道坐标系中有轴的概念,那么两个轴是否有关联呢?为了便于理解,特写此...