鱼C论坛

 找回密码
 立即注册
查看: 1705|回复: 1

[已解决]帮我看看错在哪?

[复制链接]
发表于 2023-7-21 22:10:39 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
#pip install pdf2docx
from pdf2docx import Converter

def pdf_to_docx(input_path, output_path):
    cv = Converter(input_path)
    cv.convert(output_path, start=0, end=None)
    cv.close()

# 示例用法
input_file = 'f:\\'+input('请输入要转换的文件名')+'.pdf'
output_file = 'f:\\'+input('请输入要保存的文件名')+'.docx'
pdf_to_docx(input_file, output_file)

错误说明
Traceback (most recent call last):
  File "D:\Python\pdf2docx.py", line 2, in <module>
    from pdf2docx import Converter
  File "D:\Python\pdf2docx.py", line 2, in <module>
    from pdf2docx import Converter
ImportError: cannot import name 'Converter' from partially initialized module 'pdf2docx' (most likely due to a circular import) (D:\Python\pdf2docx.py)

进程已结束,退出代码1
最佳答案
2023-7-21 22:11:10
问题的根源在于你的Python脚本命名。你的脚本的文件名是"pdf2docx.py",这正好与你正在尝试导入的模块"pdf2docx"相同。这造成了所谓的"循环导入"问题,Python解释器混淆了你自己的脚本和你试图导入的库。

解决这个问题的方法是,重新命名你的python脚本,确保它不与任何你正在导入的库重名。例如,你可以将脚本名称从"pdf2docx.py"更改为"pdf_to_docx_converter.py",然后再次尝试运行你的代码。以下是你可以尝试的代码:
#pip install pdf2docx
from pdf2docx import Converter

def pdf_to_docx(input_path, output_path):
    cv = Converter(input_path)
    cv.convert(output_path, start=0, end=None)
    cv.close()

# 示例用法
input_file = 'f:\\'+input('请输入要转换的文件名')+'.pdf'
output_file = 'f:\\'+input('请输入要保存的文件名')+'.docx'
pdf_to_docx(input_file, output_file)
请确保保存此代码的文件名不是"pdf2docx.py"。

这种循环导入的问题通常发生在当我们尝试导入的模块和当前的脚本文件有同样的名称时。为了避免这种情况,我们需要确保我们的Python脚本名称和任何导入的库或模块名称不同。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-7-21 22:11:10 | 显示全部楼层    本楼为最佳答案   
问题的根源在于你的Python脚本命名。你的脚本的文件名是"pdf2docx.py",这正好与你正在尝试导入的模块"pdf2docx"相同。这造成了所谓的"循环导入"问题,Python解释器混淆了你自己的脚本和你试图导入的库。

解决这个问题的方法是,重新命名你的python脚本,确保它不与任何你正在导入的库重名。例如,你可以将脚本名称从"pdf2docx.py"更改为"pdf_to_docx_converter.py",然后再次尝试运行你的代码。以下是你可以尝试的代码:
#pip install pdf2docx
from pdf2docx import Converter

def pdf_to_docx(input_path, output_path):
    cv = Converter(input_path)
    cv.convert(output_path, start=0, end=None)
    cv.close()

# 示例用法
input_file = 'f:\\'+input('请输入要转换的文件名')+'.pdf'
output_file = 'f:\\'+input('请输入要保存的文件名')+'.docx'
pdf_to_docx(input_file, output_file)
请确保保存此代码的文件名不是"pdf2docx.py"。

这种循环导入的问题通常发生在当我们尝试导入的模块和当前的脚本文件有同样的名称时。为了避免这种情况,我们需要确保我们的Python脚本名称和任何导入的库或模块名称不同。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-9-22 09:33

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表