在文件同级目录下存在sourcefile、targetfile两个文件夹,源文件放在sourcefile

import os
import shutil Apath = os.path.dirname(os.path.abspath(__file__)) #查找文件复制到指定路径并重命名
def replacefile():
fs = ["rcds-dao-1.5.0-RELEASE.jar",
"rcds-biz-1.5.0-RELEASE.jar",
"rcds-type-1.5.0-RELEASE.jar",
"rcds-service-1.5.0-RELEASE.jar",
"rdsmnt-core-1.5.0-RELEASE.jar",
"rdsmnt-web-1.5.0-RELEASE.jar",
"rdsos-dao-1.5.0-RELEASE.jar",
"rdsos-engine-1.5.0-RELEASE.jar",
"rdsos-core-1.5.0-RELEASE.jar",
"rdsos-cache-1.5.0-RELEASE.jar",
"rdsos-biz-1.5.0-RELEASE.jar",
"rdsos-service-1.5.0-RELEASE.jar",
"dss-dao-1.5.0-RELEASE.jar",
"dss-core-1.5.0-RELEASE.jar",
"dss-type-1.5.0-RELEASE.jar",
"ps-core-1.5.0-RELEASE.jar",
"ps-dao-1.5.0-RELEASE.jar",
"ps-client-1.5.0-RELEASE.jar",
"rds-cache-1.5.0-RELEASE.jar",
"rds-engine-1.5.0-RELEASE.jar",
"rds-redis-1.5.0-RELEASE.jar",
"rds-core-1.5.0-RELEASE.jar",
"rds-common-1.5.0-RELEASE.jar",
"rds-biz-1.5.0-RELEASE.jar",
"rds-dao-1.5.0-RELEASE.jar",
"rds-service-1.5.0-RELEASE.jar",
"rcds-.zip",
"rdsmnt-.zip",
"rdsos-.zip",
"dss-.zip",
"ps-.zip",
"rds-.zip"] fsre = ["rcds-dao.jar",
"rcds-biz.jar",
"rcds-type.jar",
"rcds-service.jar",
"rdsmnt-core.jar",
"rdsmnt-web.jar",
"rdsos-dao.jar",
"rdsos-engine.jar",
"rdsos-core.jar",
"rdsos-cache.jar",
"rdsos-biz.jar",
"rdsos-service.jar",
"dss-dao.jar",
"dss-core.jar",
"dss-type.jar",
"ps-core.jar",
"ps-dao.jar",
"ps-client.jar",
"rds-cache.jar",
"rds-engine.jar",
"rds-redis.jar",
"rds-core.jar",
"rds-common.jar",
"rds-biz.jar",
"rds-dao.jar",
"rds-service.jar",
"rcds-war.jar",
"rdsmnt-war.jar",
"rdsos-war.jar",
"dss-war.jar",
"ps-war.jar",
"rds-war.jar"] path = Apath +"\\sourcefile"
newpath = Apath +"\\targetfile"
os.system("del /f /q %s" % newpath) #清空目标文件夹 i = 0
for i in range(len(fs)):
name = fs[i]
rename =fsre[i]
oldpath = search(path, name)
#print(oldpath)
if oldpath != None:
shutil.copy(oldpath, newpath)
os.chdir(newpath) #进入指定目录
os.rename(name,rename) #重命名 #查找文件并返回绝对路径
def search(path, name):
for item in os.listdir(path):
item_path = os.path.join(path, item)
if os.path.isdir(item_path):
result = search(item_path, name)
if result:
return result
elif os.path.isfile(item_path):
if name == item:
oldpath = item_path
#print(oldpath)
return oldpath #压缩文件夹
def filezip():
zs = ["rcds-",
"rdsmnt-",
"rdsos-",
"dss-",
"ps-",
"rds-"] path = Apath + "\\sourcefile" m = 0
for item in os.listdir(path):
item_path = os.path.join(path, item)
if os.path.isdir(item_path):
for m in range(len(zs)):
name = zs[m]
if name in item:
#print(name)
if name =="rdsmnt-":
basepath = item_path
#print(item_path)
base_dir = basepath + "\\WEB-INF\\classes\\com\\suning\\framework"
base_name = basepath +"\\"+ name
shutil.make_archive(base_name, 'zip', base_dir)
elif name !="rdsmnt-":
basepath = item_path
base_dir = basepath + "\\WEB-INF\\classes\\com\\suning\\snb"
base_name = basepath +"\\"+ name
shutil.make_archive(base_name, 'zip', base_dir) if __name__ == '__main__':
filezip()
replacefile()

python查找文件、移动、重命名、压缩的更多相关文章

  1. 利用Python对文件批量重命名

    由于要用到对无序的文件进行重命名,以下写了一个脚本,进行批量进行重命名. 基本格式是  i.后缀名 ( i  循环条件下的数 ) 1 #coding:utf8 2 import os; 3 4 def ...

  2. Python批量复制和重命名文件

    Python批量复制和重命名文件 示例代码 #! /usr/bin/env python # coding=utf-8 import os import shutil import time impo ...

  3. linux安装PyCharm,PyCharm常用快捷键及调试模式,pycharm里面对文件夹或者文件进行重命名

    PyCharm常用快捷键及调试模式 2017年10月18日 23:13:43 菜鸟之神 阅读数:5835    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn ...

  4. 利用php实现文件迁移重命名

    首先表明,这是一个悲伤的故事. 暑假来临,学校安排我们到某软件外包公司实习,想想不用面试也是蛮方便的,可以借此机会向大牛学习学习,虽然没有工资(据说学校还交了600块的保险),但想想还是蛮期待的,但真 ...

  5. ASP FSO操作文件(复制文件、重命名文件、删除文件、替换字符串)

    ASP FSO操作文件(复制文件.重命名文件.删除文件.替换字符串)FSO的意思是FileSystemObject,即文件系统对象.FSO对象模型包含在Scripting 类型库 (Scrrun.Dl ...

  6. C#实现文件批量重命名源码下载

    本文要实现的功能是 文件批量重命名,当选择一个文件夹时,通过操作可以把文件夹下面所有文件进行重命名.建立了HoverTreeBatch项目. 然后 定义文件夹信息: DirectoryInfo _Th ...

  7. 当git上文件大小写重命名的修改时(git大小写敏感/默认不敏感),如何提交

    git默认是大小写不敏感!!! 加了感叹号是什么意思呢,意思就是这本身就是一个坑,本人使用的IDE是idea(网上说Eclipse可以避开问题),这个IDE本身就集成了git,但是如果要在termin ...

  8. 解决 win10 新建文件夹重命名卡死的另一种方法

    遇到 win10 新建文件夹重命名卡死时 根据网上的各种方法都不起作用时可以试一下这个方法. 文件夹属性 --- 自定义 --- 你想要那种文件夹 优化此文件夹 --- 把 [视频] 改成 [常规项目 ...

  9. Java实现文件批量重命名

    Windows操作系统可以实现重命名文件操作,却不能实现批量重命名.本实例实现了批量重命名功能,可以将一个文件夹内同一类型的文件按照一定的规则批量重命名.用户可以给出重命名模板,程序可以根据模板对相应 ...

  10. phpstorm如何进行文件或者文件夹重命名

    1.phpstorm的重构 1.1重命名 在phpstorm中,右键点击我们要进行修改的文件,然后又一项重构,我们就可以进行对文件的重命名. 接下来点击重命名进行文件或者文件夹的重新命名. 在框中输入 ...

随机推荐

  1. (12)go-micro微服务JWT跨域认证

    目录 一 JWT介绍 二 JWT优缺点 三 JWT使用 1. 导包和数据定义 2.生成JWT 3.解析JWT 4.完整代码 四 最后 一 JWT介绍 JWT 英文名是 Json Web Token , ...

  2. 分布式事务 | 使用 dotnetcore/CAP 的本地消息表模式

    本地消息表模式 本地消息表模式,其作为柔性事务的一种,核心是将一个分布式事务拆分为多个本地事务,事务之间通过事件消息衔接,事件消息和上个事务共用一个本地事务存储到本地消息表,再通过定时任务轮询本地消息 ...

  3. 面试官:JVM是如何判定对象已死的?

    本文已收录至Github,推荐阅读 Java随想录 微信公众号:Java随想录 CSDN: 码农BookSea 知道的越多,才知知道的越少.--苏格拉底 目录 引用计数算法 可达性分析算法 引用类型 ...

  4. Map接口中的常用方法-Map集合遍历建找值方式

    Map接口中的常用方法 Map接口中定义了很多方法,常用的如下: public v put(K key,v value):把指定的键与指定的值添加到Map集合中. public v remove(0b ...

  5. 微信小程序搜索优化指南(SEO)

    前言 其实在 2019 年上半年,微信就发布了基于小程序页面的搜索. 为了更好地发现及理解小程序的页面,结合过去一段时间来我们遇到的各种情况,强烈建议各位开发者花一些宝贵的时间认真阅读本文. 小程序爬 ...

  6. springboot集成ElasticApm

    jvm参数方式: -javaagent:D:/codesoft/elastic-apm-agent-1.18.0.jar -Delastic.apm.service_name=my-applicati ...

  7. Spring配置类理解(Lite模式和Full模式)

    Spring中的注解大家在开发中都常常用到,但是如果我说我们常常用的注解修饰了一个类,表示这个类就是一个配置类很多开发者都会有点迷糊了.具体配置类在开发中有什么样的用途我就不多说了,相信很多人都知道, ...

  8. 黏包现象、struct模块、并行与并发

    1.黏包现象 1.黏包现象产生的背景: 1.1 服务端连续执行三次recv 1.2 客户端连续执行三次send 执行上述操作会发现服务端一次性接收到了客户端三条消息,而后面两次什么都没接收到,该现象称 ...

  9. java反序列化基础

    前言:最近开始学习java的序列化与反序列化,现在从原生的序列化与反序列化开始,小小的记录一下 参考文章:https://blog.csdn.net/mocas_wang/article/detail ...

  10. bind使用场景之一