在kimichat中输入提示词:
你是一个Python编程专家,要完成一个编写Python脚本的任务,具体步骤如下:
联网检索PyPDF2库的最新使用方法;
打开文件夹:D:\2024-05
读取里面所有的PDF文件;
用PyPDF2库将每个PDF文件设置打开密码为:888;
加密的PDF文件名末尾加上“_文件已经加密”;
注意:每一步都要输出相关信息到屏幕上;
如果有加密的PDF文件,就跳过,然后处理下一个;
运行程序,出错了,让kimi修正,
kimichat生成的Python源代码:
import PyPDF2
import os
# 定义文件夹路径
folder_path = "D:\\2024-05"
# 定义打开密码
password = "888"
# 输出联网检索到的PyPDF2库使用方法信息
print("PyPDF2库使用方法摘要:")
print("1. 使用PdfReader对象读取PDF文件。")
print("2. 使用PdfWriter对象写入和加密PDF文件。")
print("3. 通过PdfWriter对象的encrypt方法设置密码。")
print("4. 使用PdfWriter对象的write方法保存修改后的PDF文件。")
# 遍历文件夹中的所有文件
for filename in os.listdir(folder_path):
# 检查文件扩展名是否为PDF
if filename.lower().endswith(".pdf"):
print(f"正在检查文件:{filename}")
# 构造完整的文件路径
pdf_path = os.path.join(folder_path, filename)
# 尝试打开PDF文件
try:
# 创建PDF阅读器对象
with open(pdf_path, 'rb') as file:
reader = PyPDF2.PdfReader(file)
# 使用新的方法is_encrypted属性检查PDF文件是否已加密
if reader.is_encrypted:
print(f"跳过已加密的文件:{filename}")
continue # 跳过加密的文件
# 创建PDF写入器对象
writer = PyPDF2.PdfWriter()
# 将页面从阅读器复制到写入器
for page in reader.pages:
writer.add_page(page)
# 使用PdfWriter对象的encrypt方法设置密码
writer.encrypt(user_pwd=password)
# 构造加密后的文件名
encrypted_filename = filename.rstrip(".pdf") + "_文件已经加密.pdf"
encrypted_path = os.path.join(folder_path, encrypted_filename)
# 使用PdfWriter对象的write方法保存修改后的PDF文件
with open(encrypted_path, 'wb') as out_file:
writer.write(out_file)
print(f"文件已加密:{encrypted_filename}")
except Exception as e:
print(f"处理文件出错:{filename}, 错误信息:{e}")
print("所有PDF文件处理完毕。")
本文分享自 Dance with GenAI 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!