Python 在ast.ImportFrom中查找end_lineno
在python 3.8中,在执行ast.parse时,会得到一个end_lineno变量:Python 在ast.ImportFrom中查找end_lineno,python,abstract-syntax-tree,python-ast,Python,Abstract Syntax Tree,Python Ast,在python 3.8中,在执行ast.parse时,会得到一个end_lineno变量: import ast code_example = 'from typing import List, Dict' parsed_tree = ast.parse(code_example) for item in parsed_tree.body: print(item.__dict__) 结果: { 'module': 'typing', 'names': [<ast.alias
import ast
code_example = 'from typing import List, Dict'
parsed_tree = ast.parse(code_example)
for item in parsed_tree.body:
print(item.__dict__)
结果:
{
'module': 'typing',
'names': [<ast.alias object at 0x7fac49c1d2b0>, <ast.alias object at 0x7fac49c1d5e0>],
'level': 0,
'lineno': 1,
'col_offset': 0,
'end_lineno': 1,
'end_col_offset': 29
}
{
“模块”:“键入”,
“名称”:[,],
“级别”:0,
“lineno”:1,
“col_offset”:0,
“end_lineno”:1,
“结束列偏移”:29
}
在python3.7中,end\u lineno(和end\u col\u offset)变量不存在,如何手动获取?这是否回答了您的问题?答案使用tokenize,如果可能的话,我需要处理ast.parse的结果。