python查找文件、移动、重命名、压缩
2024-09-08 18:29:41
在文件同级目录下存在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()
最新文章
- iOS 利用webView加载html代码,在代理中获取html页面的链接时出现的问题
- retain copy(浅复制) mutablecopy (深复制)
- 解决mysql";Access denied for user'root'@'IP地址'";问题
- 【转载】SSH框架总结(将网上朋友写的给整合了下)
- MSSQL 2005数据库与SP4补丁安装
- Linux下安装MySQLdb
- C# 中4个访问符和8个修饰符详解
- html元素被隐藏在后面
- vue的挖坑和爬坑之css背景图样式终极解决方法
- IDEA项目的复制操作
- Unity容器在asp.net mvc中的IOC应用及AOP应用
- 《Effective Java 第三版》目录汇总
- Vue组件基础
- BZOJ3626 LNOI2014LCA(树链剖分+主席树)
- SubLime Text 3 配置SublimeREPL来交互式调试程序
- poj 1364 King(线性差分约束+超级源点+spfa判负环)
- LibreOJ #2325. 「清华集训 2017」小Y和恐怖的奴隶主(矩阵快速幂优化DP)
- Vue.js中用webpack合并打包多个组件并实现按需加载
- PAT——1055. 集体照
- 20155319 实验二 Java面向对象程序设计
热门文章
- Visual Studio2017快速收缩/扩展代码块
- MySQL性能优化浅析及线上案例
- 使用vue创建一个吸顶的菜单项--简单版
- 用GPU来运行Python代码
- Spring中常见的注解
- 连接KingbaseES异常,致命错误/ 用户";system"; Password 认证失败(kbjdbc/autodetected server-encoding to be GB2312...)
- 【LeetCode字符串#03】图解翻转字符串中的单词,以及对于for使用的说明
- python3中,len()、isalpha()、isspace()、isdigit()、isalnum()实例
- 视觉十四讲:第十二讲_RGB-D稠密点云
- vue3+element表格数据导出