Python学习笔记组织文件之将指定目录下的指定格式文件Copy到指定文件夹

随笔记录方便自己和同路人查阅。

#------------------------------------------------我是可耻的分割线-------------------------------------------

  假如你想把一个路径下的某格式文件都复制到另一个文件夹中,如果文件较多,手动复制可能会比较繁琐和麻烦,重要的是还可能复制错了,所以你希望有

一段程序帮你完成这个繁琐且容易出错的工作。

#------------------------------------------------我是可耻的分割线-------------------------------------------

  将指定目录下的指定格式文件复制到想要的目录下,示例代码:

#! python 3
# -*- coding:utf-8 -*-
# Autor: Li Rong Yang
'''
Copy指定格式的文件到新文件夹
'''
import shutil,os
#定义函数,接收传入的值
def SFileToDFile(sourcefile,fileclass,destinationfile):
    #遍历目录和子目录
    for filenames in os.listdir(sourcefile):
        #取得文件或文件名的绝对路径
        filepath = os.path.join(sourcefile,filenames)
        #判断是否为文件夹
        if os.path.isdir(filepath):
            #如果是文件夹,重新调用该函数
            SFileToDFile(filepath,fileclass,destinationfile)
        #判断是否为文件
        elif os.path.isfile(filepath):
            #如果该文件的后缀为用户指定的格式,则把该文件复制到用户指定的目录
            if filepath.endswith(fileclass):
                #dirname = os.path.split(filepath)[-1]
                #给出提示信息
                print('Copy %s'% filepath +' To ' + destinationfile)
                #复制该文件到指定目录
                shutil.copy(filepath,destinationfile)
#函数调用
SFileToDFile('d:\quiz','.txt','d:\test')

  运行结果:根据运行结果可以看出复制的文件有哪些,和复制到了那个目录下

  假如你想删除指定的文件,可以这样写,示例代码:

#! python 3
# -*- coding:utf-8 -*-
# Autor: Li Rong Yang
'''
Copy指定格式的文件到新文件夹
'''
import shutil,os,send2trash
#定义函数,接收传入的值
def SFileToDFile(sourcefile,fileclass,destinationfile):
    #遍历目录和子目录
    for filenames in os.listdir(sourcefile):
        #取得文件或文件名的绝对路径
        filepath = os.path.join(sourcefile,filenames)
        #判断是否为文件夹
        if os.path.isdir(filepath):
            #如果是文件夹,重新调用该函数
            SFileToDFile(filepath,fileclass,destinationfile)
        #判断是否为文件
        elif os.path.isfile(filepath):
            #如果该文件的后缀为用户指定的格式,则把该文件复制到用户指定的目录
            if filepath.endswith(fileclass):
                #dirname = os.path.split(filepath)[-1]
                #给出提示信息
                #print('Copy %s'% filepath +' To ' + destinationfile)
                print('Delet %s to recycle bin.'%filepath)
                #删除文件
                send2trash.send2trash(filepath)
                # 复制该文件到指定目录
                #shutil.copy(filepath,destinationfile)
#函数调用
SFileToDFile('d:\quiz','.txt','d:\test')

  运行结果:

原文地址:https://www.cnblogs.com/lirongyang/p/9664840.html