工作中需要批量修改zip包中的文件,用Python实现很方便实用。
以下代码修改zip包中的json文件内容,以及图片文件的文件名。
# -*- coding: utf-8 -*-
'''对当前目录下的zip包,修改包中json文件中的uid,并重命名对应的图片文件
用法:直接在当前目录下运行'''
'''
总体思路:
1、找到XXX.zip
2、解压到\XXX目录,并删除XXX.zip
3、修改\XXX\value.json文件中的uid和图片url,并同步更新相应文件名
4、压缩\XXX\*.*到XXX+.zip,并删除整个\XXX目录
uid思路:
1、以当前时间戳作为id0
2、每次解析jason
2.1、uid修改为'ep'+id0,name改为XXX++
2.2、points.uidExamPaper修改为'ep'+id0
2.3、points.uid修改为'po'+id0+0x
2.4、解析urlExamImage和urlLabReport的json文本,将url修改为id0+pic0x
2.5、id0++
'''
import os
import shutil
import json
import time
suffix = '+' # 在原有实验名后面加++,以示区别
id0 = int(time.time()) # 1、以当前时间戳作为id0
fs = os.listdir()
for f in fs:
if os.path.isfile(f):
fname, ftype = os.path.splitext(f)
# 1、找到XXX.zip
if ftype.lower() == '.zip':
# 2、解压到\XXX目录,并删除XXX.zip
if os.path.exists(fname)