当前位置: 首页 > 知识库问答 >
问题:

python - 请求帮忙解决Python编程中提示路径错误文档不能写入的问题?

盖斌
2023-12-26

我想实现的功能是:将n张图片拖入固定文件夹中后自动用word排版,word标题为“照片”,每页排版两张照片,每张照片下边有序号和“备注:”

import osfrom PIL import Imagefrom docx import Documentfrom docx.shared import Inchesfrom docx.enum.text import WD_PARAGRAPH_ALIGNMENTfrom docx.oxml import OxmlElementdef create_word_document(image_folder, output_path):    # 获取图片文件列表    image_files = [f for f in os.listdir(image_folder) if f.lower().endswith(('.png', '.jpg', '.jpeg', '.gif', '.bmp'))]    if not image_files:        print("未找到任何图片文件。")        return    # 创建Word文档    doc = Document()    doc.add_heading('照片', level=1).alignment = WD_PARAGRAPH_ALIGNMENT.CENTER    # 每页排版两张照片    photos_per_page = 2    for i, image_file in enumerate(image_files, start=1):        if i % photos_per_page == 1:            # 添加新的一页            section = doc.sections[-1]            footer = section.footer            footer.paragraphs[0].clear()  # 清除页脚原有内容            footer.paragraphs[0].add_run(f"第 {i // photos_per_page + 1} 页").alignment = WD_PARAGRAPH_ALIGNMENT.CENTER            doc.add_page_break()        # 添加图片和备注        img_path = os.path.join(image_folder, image_file)        img = Image.open(img_path)        doc.add_picture(img_path, width=Inches(3.0))        doc.add_paragraph(f"序号:{i}")        doc.add_paragraph("备注:")    # 保存Word文档    doc.save(output_path)    print(f"Word文档已保存至: {output_path}")if __name__ == "__main__":    # 指定图片文件夹和输出Word文档路径    image_folder_path = "d:ANZHUANG/PYTHON/IMA"    output_word_path = "d:ANZHUANG/PYTHON/output/"    create_word_document(image_folder_path, output_word_path)

为什么运行的时候老是出现写入路径错误

D:\ANZHUANG\PYTHON\python.exe C:/Users/admin/PycharmProjects/pythonProject/lianxi3.pyTraceback (most recent call last):  File "C:\Users\admin\PycharmProjects\pythonProject\lianxi3.py", line 51, in <module>    create_word_document(image_folder_path, output_word_path)  File "C:\Users\admin\PycharmProjects\pythonProject\lianxi3.py", line 40, in create_word_document    doc.save(output_path)  File "D:\ANZHUANG\PYTHON\lib\site-packages\docx\document.py", line 151, in save    self._part.save(path_or_stream)  File "D:\ANZHUANG\PYTHON\lib\site-packages\docx\parts\document.py", line 106, in save    self.package.save(path_or_stream)  File "D:\ANZHUANG\PYTHON\lib\site-packages\docx\opc\package.py", line 151, in save    PackageWriter.write(pkg_file, self.rels, self.parts)  File "D:\ANZHUANG\PYTHON\lib\site-packages\docx\opc\pkgwriter.py", line 27, in write    phys_writer = PhysPkgWriter(pkg_file)  File "D:\ANZHUANG\PYTHON\lib\site-packages\docx\opc\phys_pkg.py", line 109, in __init__    self._zipf = ZipFile(pkg_file, "w", compression=ZIP_DEFLATED)  File "D:\ANZHUANG\PYTHON\lib\zipfile.py", line 1239, in __init__    self.fp = io.open(file, filemode)PermissionError: [Errno 13] Permission denied: 'd:ANZHUANG/PYTHON/output/'

通过提高管理员权限试图解决不能写入给定路径的问题,但是还是出现结果中的提示。
希望大神帮忙指点一下,如何实现既定的功能。

共有3个答案

农飞翔
2023-12-26

放linux环境用root权限执行试试

晁国发
2023-12-26

盘符后面的路径分隔符漏了, d:/ANZHUANG/PYTHON/output/

贡俊
2023-12-26

你的问题是一个很常见的文件权限问题。当你试图在没有写入权限的位置创建或保存文件时,Python会抛出一个PermissionError。在你的情况下,问题出在'd:ANZHUANG/PYTHON/output/'这个路径上,Python无法写入这个路径。

解决这个问题的方法有很多种,下面是一些可能的解决方案:

  1. 更改文件或文件夹的权限:你可以尝试更改'd:ANZHUANG/PYTHON/output/'这个路径的权限,使其对你的Python程序开放写入权限。在Windows系统中,你可以右键点击文件夹,选择"属性",然后在"安全"选项卡中更改权限。
  2. 选择一个有写入权限的位置:你也可以选择一个你的Python程序有写入权限的位置来保存Word文档。例如,你可以选择在用户的主目录下创建一个新的文件夹来保存Word文档。
  3. 以管理员权限运行Python程序:你可以尝试以管理员权限运行你的Python程序。在Windows系统中,你可以右键点击Python程序,然后选择"以管理员身份运行"。

如果你仍然遇到问题,请提供更多的信息,我将很乐意进一步帮助你。

 类似资料:
  • opendkim使用命令systemctl restart opendkim后,使用systemctl status opendkim查看后 。发先opendkim状态时dead状态。不管我试多少次,就是还是这个样子 使用postfix发送邮件后 提示也是这样的。 我也查了很多资料,但基本都是说没启动,但我使用了systemctl stop/start/restart opendkim我都试过了,

  • 运行python版本3.9.1在arch linux与OpenSSL版本1.1.1i和pyopenssl版本1.1.1i我得到以下错误时,尝试使用https代理与请求模块: 我正在运行的代码是: 无论我尝试什么https代理,我都会得到相同的错误。我还重新安装了openssl和python,没有任何更改。有什么建议吗?

  • 本文向大家介绍解决python ogr shp字段写入中文乱码的问题,包括了解决python ogr shp字段写入中文乱码的问题的使用技巧和注意事项,需要的朋友参考一下 首先,先确认一下你的字段值是不是乱码,如果是,按照以下方法: 我的字段值是来自于一个geojson字符串,我在对它解析时做了如下处理: 这样即可消除字段值中的中文乱码。 字段值没有乱码了,可是这样写入shp,shp中会出现乱码,

  • Pycharm的控制台复制粘贴剪切与平常无异,VScode就很麻烦,文本界面是正常的,但是终端里面就得Ctrl+Shift+C、Ctrl+Shift+V,还不能剪切,光标移动也得按住Alt。如果输入错误,还得长按删除从最后一直删除到最前。 同时运行多个Python程序还得新建终端,然后输入python目录和要运行的程序目录,Pycham直接Ctrl+Shift+F10, 感觉除了省内存,没有比Py

  • 本文向大家介绍Python编程求解二叉树中和为某一值的路径代码示例,包括了Python编程求解二叉树中和为某一值的路径代码示例的使用技巧和注意事项,需要的朋友参考一下 题目描述 输入一颗二叉树和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。 思路:首先要理解题意,是从根节点往子节点连。 1、如果只有根节点或者找到叶子节点