Python常用脚本


1、图片转base64

#!/usr/local/python3.8/bin/python3
# -*- coding:UTF-8 -*-

import os
import base64

# 图片文件夹是/root/images
log_d = '/root/images'
logFiles = os.listdir(log_d)
# 在/root/images内遍历文件
for filename in logFiles:
    print(filename)
    with open(filename, 'rb') as f:
        # image_base64 = base64.b64encode(f.read())  #bytes类型
        image = f.read()
        image_base64 = str(base64.b64encode(image), encoding='utf-8')   #字符串类型

2、解压zip文件

#!/usr/local/python3.8/bin/python3
# -*- coding:UTF-8 -*-

import zipfile, os
from werkzeug.utils import secure_filename

'''
基本格式:zipfile.ZipFile(filename[,mode[,compression[,allowZip64]]])
mode:可选 r,w,a 代表不同的打开文件的方式;r 只读;w 重写;a 添加
compression:指出这个 zipfile 用什么压缩方法,默认是 ZIP_STORED,另一种选择是 ZIP_DEFLATED;
allowZip64:bool型变量,当设置为True时可以创建大于 2G 的 zip 文件,默认值 True;

'''

def unzip(path, folder_abs):
    zip_file = zipfile.ZipFile(path)
    zip_list = zip_file.namelist()  # 得到压缩包里所有文件

    for f in zip_list:
        zip_file.extract(f, folder_abs)  # 循环解压文件到指定目录
    zip_file.close()  # 关闭文件,必须有,释放内存
    os.remove(path)

def savefile(f, savepath):
    basepath = os.path.dirname(__file__)
    upload_path = os.path.join(basepath, savepath, secure_filename(f.filename))
    f.save(upload_path)
    unzip(upload_path, savepath)