将文件夹内所有文件复制到指定路径

2016年马上要过去了。时光一去不复返呀!
好了不感慨了,年底了,iphone手机照片导出的时候发现照片是这样的格式:E:\DCIM\xxxAPPLE\IMG_xxx.JPG。一年下来照片多多少少也接近1000来张了。
将文件夹内所有文件复制到指定路径_第1张图片
要吧这些照片全部从各个文件夹内选出来放到一个文件夹中还是相当费劲的。那么就写一个小程序,解放ctrl+v吧!!
代码如下:

#coding:utf-8
import os,time
import shutil

def copy_file(path):
    os.chdir(path) #进入文件夹
    for each_file in os.listdir("."): 
        if os.path.isfile(each_file):   #如果文件夹内的东东是文件
            shutil.copy(each_file, dst + "\\" + each_file) #那么复制文件至指定路径
            print("Copy file from %s to %s " % (os.getcwd() + each_file, dst + "\\" + each_file))
        else:
            if each_file in dirset: #dirset字典是为了防止每次调用 copy_file(path) 函数会出现循环进入某一个文件夹
                continue
            dirset.add(each_file)
            copy_file(each_file)    #如果文件夹内的东东是文件夹,那么仍调用此函数继续
            os.chdir("..")  #由于使用了递归,当操作完毕,需返回上一级目录



if __name__ == "__main__" :
    src = "E:\ImagesFromIphone\\DCIM"   #目标路径
    dst = "E:\\ImagesFromIphone\\TotalPictures" #存储路径
    dirset = set()  #程序访问过的文件夹字典
    copy_file(src)

主要使用os, shutil模块,都是python内置的模块。代码比较简单,各处都做了注释。
将文件夹内所有文件复制到指定路径_第2张图片
上图是程序运行的记过,所有DCIM中的图片被复制到TotalPictures文件夹内。

你可能感兴趣的:(python学习)