77 lines
2.1 KiB
Plaintext
77 lines
2.1 KiB
Plaintext
{
|
||
"cells": [
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 1,
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"import zipfile,os\n",
|
||
"from PIL import Image\n",
|
||
"\n",
|
||
"#设置工作目录,其中放小闲下载的错题zip文件\n",
|
||
"working_path = r\"临时文件/错题处理\"\n",
|
||
"os.chdir(working_path)\n",
|
||
"\n",
|
||
"for zips in [f for f in os.listdir() if \".zip\" in f]:\n",
|
||
" print(\"正在处理:\",zips)\n",
|
||
" zf = zipfile.ZipFile(zips)\n",
|
||
" picture_list = [f.filename for f in zf.filelist if \".png\" in f.filename]\n",
|
||
" total_width = 0\n",
|
||
" total_height = 0\n",
|
||
" for p in picture_list:\n",
|
||
" picture_file = zf.extract(p)\n",
|
||
" current_pic = Image.open(picture_file)\n",
|
||
" if total_width < current_pic.width:\n",
|
||
" total_width = current_pic.width\n",
|
||
" total_height += current_pic.height\n",
|
||
" current_pic.close()\n",
|
||
" canvas = Image.new(\"RGB\",(total_width,total_height),color=(255,255,255))\n",
|
||
" position = 0\n",
|
||
" for p in picture_list:\n",
|
||
" current_pic = Image.open(p)\n",
|
||
" canvas.paste(current_pic,(0,position))\n",
|
||
" position += current_pic.height\n",
|
||
" current_pic.close()\n",
|
||
" os.remove(p)\n",
|
||
" zf.close()\n",
|
||
" canvas.save(zips[:-4]+\".png\")"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": []
|
||
}
|
||
],
|
||
"metadata": {
|
||
"kernelspec": {
|
||
"display_name": "Python 3.9.7 ('base')",
|
||
"language": "python",
|
||
"name": "python3"
|
||
},
|
||
"language_info": {
|
||
"codemirror_mode": {
|
||
"name": "ipython",
|
||
"version": 3
|
||
},
|
||
"file_extension": ".py",
|
||
"mimetype": "text/x-python",
|
||
"name": "python",
|
||
"nbconvert_exporter": "python",
|
||
"pygments_lexer": "ipython3",
|
||
"version": "3.9.7"
|
||
},
|
||
"orig_nbformat": 4,
|
||
"vscode": {
|
||
"interpreter": {
|
||
"hash": "e4cce46d6be9934fbd27f9ca0432556941ea5bdf741d4f4d64c6cd7f8dfa8fba"
|
||
}
|
||
}
|
||
},
|
||
"nbformat": 4,
|
||
"nbformat_minor": 2
|
||
}
|