随笔记录方便自己和同路人查阅。
#------------------------------------------------我是可耻的分割线-------------------------------------------
假如你想把一个路径下的某格式文件都复制到另一个文件夹中,如果文件较多,手动复制可能会比较繁琐和麻烦,重要的是还可能复制错了,所以你希望有
一段程序帮你完成这个繁琐且容易出错的工作。
#------------------------------------------------我是可耻的分割线-------------------------------------------
将指定目录下的指定格式文件复制到想要的目录下,示例代码:
#! 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')
运行结果:
