def parse_array_slice_py_ast(array_node):
if hasattr(array_node.slice, 'value'):
getitem_tuple = array_node.slice.value
elif hasattr(array_node.slice, 'dims'):
getitem_tuple = array_node.slice.dims
elif isinstance(array_node.slice, ast.Slice):
getitem_tuple = array_node.slice
if hasattr(getitem_tuple, 'elts'):
getitem_tuple = getitem_tuple.elts
if isinstance(getitem_tuple, ast.Name) or isinstance(getitem_tuple, ast.Slice) or isinstance(getitem_tuple, ast.Num):
getitem_tuple = [getitem_tuple]
try:
getitem_strs = [py_ast.dump_ast(x) for x in getitem_tuple]
except:
getitem_strs = [py_ast.dump_ast(x) for x in getitem_tuple.elts]
return (getitem_tuple, getitem_strs)
评论列表
文章目录