为什么叮当响'没有属性'Cursor\u visit'

2024-06-26 07:27:08 发布

您现在位置:Python中文网/ 问答频道 /正文

我想用Python的libclang,一切正常,但是当我调用"clang.cindex.Cursor_visit"

据报道

error:AttributeError: module 'clang.cindex' has no attribute 'Cursor_visit'

我已经试过了clang.cindex是真的导入的,我使用llvm和cfe5.0版本和phython3.6.5

#!/usr/bin/env python
import sys
import clang.cindex
from clang.cindex import Config
Config.set_library_path("/mnt/d/src/llvm/llvm50src/install/lib")
def callexpr_visitor(node, parent, userdata):
    print ('Found %s [line=%s, col=%s]' %
    (node.spelling,node.location.line, node.location.column))
return 2 # means continue visiting recursively

def showToken(node):
    ts=node.get_tokens()
    for t in ts:
       print (t.spelling)
index = clang.cindex.Index.create()
tu = index.parse("ToyClangPlugin.cpp")
print(tu.cursor.kind)

clang.cindex.Cursor_visit(tu.cursor,
clang.cindex.Cursor_visit_callback(callexpr_visitor),None)
showToken(tu.cursor)

error report:File "libclangPythonTest.py", line 19, in clang.cindex.Cursor_visit(tu.cursor,clang.cindex.Cursor_visit_callback(callexpr_visitor),None) AttributeError: module 'clang.cindex' has no attribute 'Cursor_visit'


Tags: importnodelineerrorvisitcursorclangattributeerror