我正在编写一个 python 脚本来确定引用给定项目的项目,并且从 Scitools 遇到了理解。在对理解 Python API 进行研究之后,看来我需要“打开”一个数据库才能执行任何命令并发现关于给定项目的所有信息。例如,当我执行此操作时:
例子.pyimport understand
import sys
def sortedEntities(db):
for ent in sorted(db.ents(),key= lambda ent: ent.name()):
print (ent.name()," [",ent.kindname(),"]",sep="",end="\n")
if __name__ == '__main__':
# Open Database
args = sys.argv
db = understand.open(args[1])
sortedEntities(db)
我遇到了一个 understand.UnderstandError: DBCorrupt 错误,因为我没有输入 .udb 文件,而是输入了 .csproj 文件。我假设我必须创建这个 .udb 文件,它是一个 db 文件。
我试图避免使用理解 GUI 并在 python 脚本中自动化这个静态工具。有什么方法可以从给定项目创建数据库,然后执行理解必须提供的许多命令。任何指导将不胜感激!