我从一周以来使用pywin32库来解析visio文件以提取形状及其内容。我运行了几次脚本,但从昨天开始执行脚本时,出现了以下错误:File "C:\Program Files\Python39\lib\site-packages\win32com\client\__init__.py", line 580, in __getattr__ raise AttributeError( AttributeError: '<win32com.gen_py.Microsoft Visio 16.0 Type Library.IVDocument instance at 0x1943434388768>' object has no attribute 'pages'
下面是我的脚本中生成错误的部分:
import glob
import os
import win32com.client as w32
path = r"C\Users\..."
all_files = glob.glob(path + "/*.vsd")
visio = w32.Dispatch("visio.Application")
for filename in all_files:
print(filename)
vdoc = visio.Documents.Open(filename)
page = vdoc.pages(1) <-- the problematic line
shps = page.Shapes 我列出了visio文件的列表,在for循环中打开它们之后,我读取了第一页(它们都有一页)。第一个visio也打开,但在我有错误之后。我试着卸载和重新安装pywin32,我在另一个库中工作,更改我的导入名.我在另一台电脑上试了一下,比温也能工作。我真的不明白为什么python现在出现了这个错误,最重要的是我没有触及这一行。你有什么办法解决这个问题吗?
发布于 2022-08-18 12:28:28
我不明白它是如何工作的,但是将所有命令大写,比如..pages/..type/..text/..shapes/..names,因为在命令未大写之前..pages/..type/..text/..names/..names起作用.如果有人能给我解释的话那就太奇怪了。
https://stackoverflow.com/questions/73398809
复制相似问题