python工具-base64-zip-json

文章介绍了如何使用Python编写函数,实现base64解码、zip解压后解析JSON内容,支持多字符串解码操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

import zipfile
import os
import json
import zlib
import base64
import sys

解压制定目录下的所有zip文件

def unzip(path):
for p in os.walk(path): # (root,dirs,files)
root = p[0]
dirs = p[1]
files = p[2]
for file in files:
file_path = os.path.join(root,file)
if os.path.isfile(file_path): # 判断是否是文件
if zipfile.is_zipfile(file_path): # 判断是否是zip文件
new_dir = file_path.replace(‘.zip’, ‘’) # 解压的文件名
if not os.path.exists(new_dir): # 判断文件夹是否存在
os.mkdir(new_dir) # 新建文件夹
f = zipfile.ZipFile(file_path) # 读取zip文件
f.extractall(new_dir) # 提取zip文件

压缩json数据为zip文件并转为base64编码

def enc_json_zip_base64(json_str):
json_object = json.loads(json_str)
zip_data = zlib.compress(json.dumps(json_object).encode(“utf-8”))
base64_data = base64.b64encode(zip_data)
return base64_data

解压base64编码的zip文件并转为json字符串

def dec_base64_zip_json(base64zip):
zip_data = base64.b64decode(base64zip)
json_data = zlib.decompress(zip_data)
json_object = json.loads(json_data)
return json.dumps(json_object, sort_keys=True, indent=4, separators=(', ', ': '))

if name == “main”:
if len(sys.argv) == 1:
print(“need para. \nfor example: python3 base64-zip.py argv1 …\n”)
data = enc_json_zip_base64(‘’‘{
“desc”:{
“1”:“base64 dec”,
“2”:“zip dec”,
“3”:“print json”,
“4”:“support many print”
}
}’‘’)
output = dec_base64_zip_json(data)
print(f"input: {data}\n")
print(f"output: {output}\n")
exit()

for i in range(len(sys.argv)-1):
    output = dec_base64_zip_json(sys.argv[i+1])
    print(f"input:\n{sys.argv[i+1]}\n")
    print(f"output:\n{output}\n")
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值