首先呢,我不是做IT人士,我也不是学CS专业的。
写的不好,可以优化的地方,请多多指教。
有兴趣学习Python的童鞋可以来看我的知乎帖子。
废话不多说上代码!
# -*- coding:utf-8 -*-
# 环境 python 3.6
# 从兴趣开始学习Python
# 我是pepCoder
import os
import time
import img2pdf # 图片打包成PDF库
from halo import Halo
from datetime import datetime as dt
from os import path
from PyPDF4 import PdfFileWriter, PdfFileReader # PDF文件操作库
from send2trash import send2trash # 字面意思,送去垃圾箱
root_path = '__SiS_PuB__' #目录
date_path = str(dt.now().strftime('%Y-%m-%d')) #日期
# 遍历文件夹, 搜索图片,PDF打包
def search_n_zip():
with open("C:\\Users\\XYZ\\Desktop\\封面打包.pdf", "wb") as f:
all_cover_imgs = []
folder = path.join(root_path, date_path)
for root, dirs, files in os.walk(folder): # 遍历母目录、子目录、文件
for img in files:
if img.endswith('1.jpg'): # 把结尾为“1.jpg”文件都给我找出来
img_path = os.path.join(root, img) # 把途径和文件名组合在一起
# print(img_path)
all_cover_imgs.append(img_path) # 导入到Tuple里
# print(all_cover_imgs)
pdf_bytes = img2pdf.convert(all_cover_imgs) # 文件打包成PDF文件储存
f.write(pdf_bytes)
# 给PDF文件加密
def encryption(input_pdf, output_pdf, password):
pdf_writer = PdfFileWriter() # 写文件
pdf_reader = PdfFileReader(input_pdf) # 读文件
for page in range(pdf_reader.getNumPages()): # 多少页数
pdf_writer.addPage(pdf_reader.getPage(page))
pdf_writer.encrypt(user_pwd=password, owner_pwd=None, use_128bit=True) # 加密设置
with open(output_pdf, "wb") as fe: # 保存文件
pdf_writer.write(fe)
if __name__ == '__main__':
start = time.time()
print("=☆=★=☆=★=☆= - 开始执行源码 - =★=☆=★=☆=★=")
with Halo(): # 动态条库,挺有趣的,大家可以尝试着用用
search_n_zip()
encryption(input_pdf="C:\\Users\\XYZ\\Desktop\\封面打包.pdf",
output_pdf="C:\\Users\\XYZ\\Desktop\\封面打包"
+ date_path + ".pdf", # 区分加密文件名称,咱们加一个日期印上去
password='aaazzz')) # 老司机常用套路密码,您懂的,呵呵
send2trash("C:\\Users\\XYZ\\Desktop\\封面打包.pdf") # 把未加密的文件处理掉
print('\r'+"=☆=★=☆=★=☆= - 指令执行结束 - =★=☆=★=☆=★=")
end = time.time()
print("=☆=★=☆=★= - 运行时间为:%s 秒 - =☆=★=☆=★=" % int(end - start))
还不赖哈?老司机们是不是准备开车了呢?
爬虫照片后其实这个py脚本最实用了,hiahia~