在文件同级目录下存在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. 【力扣】剑指 Offer II 092. 翻转字符

    题目 解题思路 一个很暴力的想法,在满足单调递增的前提下,使每一位分别取 1 或 0,去看看哪个结果小. 递归函数定义int dp(StringBuilder sb, int ind, int pre ...

  2. 用溪流 WarKey 辅助红警开局快捷操作

    背景 自从发现红警除了 ddraw 补丁可以在最新的系统里玩后,就开始怀旧了.但是由于手残,遇到别人抢地盘基本上直接崩了.偶然有一次发现像 08 这样的高手点 30 个坦克使用工具的.那么,我开局用工 ...

  3. Ubuntu 安装 SSH

    sudo apt install openssh-server sudo systemctl status ssh sudo ufw allow ssh

  4. Windows安装Anaconda并且配置国内镜像教程

    前言 我们在学习 Python 的时候需要不同的 Python 版本,关系到电脑环境变量配置换来换去很是麻烦,所以这个时候我们需要一个虚拟的 Python 环境变量,我之前也装过 virtualenv ...

  5. inline的作用

    1:inline可以跳过调用,直接引用,类似与直接将函数中的代码拿到当前函数中一样 2:在.h中函数重复的时候可以用inline来解决冲突问题

  6. 非代码的贡献也能成为Committer,我与DolphinScheduler社区的故事

    点亮 ️ Star · 照亮开源之路 https://github.com/apache/dolphinscheduler   ​   // 每个人对于"开源社区"的定义都不一样, ...

  7. Blazor 拖放上传文件转换格式并推送到浏览器下载

    前言 昨天有个小伙伴发了一个老外java编写的小工具给我,功能是转换西班牙邮局快递Coreeos express的单据格式成Amazon格式,他的需求是改一下程序为匹配转换另一个快递公司MRW格式到A ...

  8. 使用brew安装历史版本的几种方式

    背景 在 mac osx 下, 大部分的软件都是使用 homebrew 进行管理的, 可以方便的进行软件的安装,更新,删除等等, 大部分情况下 homebrew 的仓库只会存在一份最新的软件版本, 有 ...

  9. Visual Studio 集成了.NET 升级助手插件

    .NET团队2023年2月16日在官方博客上发布了名为".NET Upgrade Assistant"的全新 Visual Studio 扩展,帮助开发人员升级.NET 应用程序. ...

  10. JZOJ 5353. 【NOIP2017提高A组模拟9.9】村通网

    题目 为了加快社会主义现代化,建设新农村,农夫约(Farmer Jo)决定给农庄里每座建筑都连上互联网,方便未来随时随地网购农药. 他的农庄很大,有N 座建筑,但地理位置偏僻,网络信号很差. 一座建筑 ...