我有一个VBA脚本,我在一个名为Visum的软件中运行。此脚本计算一些内容并将一些结果返回给软件。
我想要做的是"转换"这个脚本用于Python,但我对这部分代码有疑问:
VBA(有效,使用Visum库):
Dim PathList_0 As IPrTPathLinkList
Set PathList_0 = Visum.Lists.CreatePrTPathLinkList
Set DSeg = Visum.Net.DemandSegments.ItemByKey(Segmento_Demanda)
PathList_0.SetObjects newDemandSegOrPathSet:=DSeg, PathTypeSelection:=routeFilter_filterFromZoneFilter, ListFormat:=listFormat_databaseWithoutHeadLine, zone:=All
PathList_0.AddColumn ("OrigZoneNo")
aPath_0 = PathList_0.SaveToArray()
Python(不起作用......根据软件手册,没有必要导入任何' Visum'模块,因为我正在运行此脚本在软件中):
PathList_0 = Visum.ListsCreatePrTPathLinkList #ERROR
DSeg = Visum.NetDemandSegments.ItemByKey(Segmento_Demanda)
PathList_0.SetObjects("All", DSeg, "routeFilter_filterFromZoneFilter", False, "listFormat_databaseWithoutHeadLine")
PathList_0.AddColumn("OrigZoneNo")
aPath_0 = PathList_0.SaveToArray()
当我运行VBA脚本时,它可以工作。但是当我运行Python脚本时,它返回一个AttributeError:
我已经阅读了一些关于AttributeError的类似问题,但我找不到针对这种特定情况的有用信息。我也读过dynamic.py和pyscript.py,但由于我不是一个经验丰富的程序员,我无法找到问题。
我的Python版本与Visum软件兼容(我已经检查过它)。
我问这个问题是因为我认为这可能与我在转换"时所犯的一些错误有关。到Python。任何人都可以帮我解决这个错误吗?
答案 0 :(得分:1)
这只是一个错字:
PathList_0 = Visum.ListsCreatePrTPathLinkList
应该是
PathList_0 = Visum.Lists.CreatePrTPathLinkList
注意列表后的点