python 拷贝特定后缀名文件,并保留原始目录结构的实例
作者:迦蓝叶 发布时间:2021-08-30 04:17:46
标签:python,文件,后缀名,目录,结构
如下所示:
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import os
import shutil
def cp_tree_ext(exts,src,dest):
"""
Rebuild the director tree like src below dest and copy all files like XXX.exts to dest
exts:exetens seperate by blank like "jpg png gif"
"""
fp={}
extss=exts.lower().split()
for dn,dns,fns in os.walk(src):
for fl in fns:
if os.path.splitext(fl.lower())[1][1:] in extss:
if dn not in fp.keys():
fp[dn]=[]
fp[dn].append(fl)
for k,v in fp.items():
relativepath=k[len(src)+1:]
newpath=os.path.join(dest,relativepath)
for f in v:
oldfile=os.path.join(k,f)
print("拷贝 ["+oldfile+"] 至 ["+newpath+"]")
if not os.path.exists(newpath):
os.makedirs(newpath)
shutil.copy(oldfile,newpath)
#用法如下:
#
#cp_tree_ext(exts,src,dest)
#
#exts:以空格分隔的字符串,可多个拓展名,如"bat txt"
#src:原目录
#dest:目标目录,如果不存在,则建立
cp_tree_ext('doc docx','/home/lincoln/python/copy/source','/home/lincoln/python/copy/target')
只是段代码,直接调用cp_tree_ext(exts,src,dest) 方法即可。
来源:https://blog.csdn.net/soslinken/article/details/54015578


猜你喜欢
- 通常我们做统计图的时候需要借助组件来完成例如mschart,aspchart等但是这个类不需要任何组件,而且使用方便,本站测试可用:clsG
- 1.数组上的迭代NumPy 包含一个迭代器对象numpy.nditer。它是一个有效的多维迭代器对象,可以用于在数组上进行迭代。数组的每个元
- 示例首先模拟一个业务场景,有订单、产品、自定义订单三个结构体,订单中包含多个产品:type Order struct {Id
- 目录前言1. 使用Lambda来修改Pandas数据框中的值2. 使用f-string来连接字符串3. 用Zip()函数对多个列表进行迭代4
- 本文实例分析了php中get_meta_tags()、CURL与user-agent用法。分享给大家供大家参考。具体分析如下:get_met
- 本文实例讲述了Python可变和不可变、类的私有属性。分享给大家供大家参考,具体如下:可变和不可变items = []print(id(li
- 对url进行编码在服务器端我们可以使用asp中的server.urlencode,很方便实现。如:<% ss="asp之家欢
- 1. 介绍目的:公司的支付宝小程序向指定用户发送红包。场景:积分兑换、邀请注册。2.开通权限2.1开通服务说明:进入支付宝商家中心 → 营销
- 引言“ 这是MySQL系列笔记的第九篇,文章内容均为本人通过实践及查阅资料相关整理所得,可用作新手入门指南,或
- 中文文本中可能出现的标点符号来源比较复杂,通过匹配等手段对他们处理的时候需要格外小心,防止遗漏。以下为在下处理中文标点的时候采用的两种方法:
- 在Python语言中,Uincode字符串处理一直是一个容易让人迷惑的问题。许多Python爱好者经常因为搞不清Unicode、UTF-8还
- UUID (Universally Unique Identifier,通用唯一标识)是一个128位的用于计算机系统中以识别信息的数目,虽然
- inspectdb使用步骤1.配置项目setting文件2.配置项目__init__.py 使用pymysql连接数据库 import py
- 看了下网上有很多关于模拟登录淘宝,但是基本都是使用scrapy、pyppeteer、selenium等库来模拟登录,但是目前我们还没有讲到这
- 经过总结,Python创建多线程主要有如下两种方法:函数类接下来,我们就来揭开多线程的神秘面纱。1. 用函数创建多线程在Python3中,P
- 十要:第一:要认真规划和分析。这是网页设计灵魂工作。创建站点之前,要明确你的网站主要针对哪些访问者,为哪些用户服务,要把握准主页题材第二:网
- 函数的返回值一个函数执行后可以返回多个返回值def measure(): print('测量开始。。。。&
- 本文实例讲述了MySQL中使用replace、regexp进行正则表达式替换的用法。分享给大家供大家参考,具体如下:今天一个朋友问我,如果将
- 经过一个阶段的asp学习,下面我们结合所学过的内容建立一个最简单的聊天室,虽然很简单,但是大家可以通过他来掌握一个聊天室建立的基本过程,并且
- 导言在前面的教程里我们学习了DataList提供了一些风格样式的属性.而且我们还学习了如何定义HeadStyle, ItemStyle, A