ast.ImportFrom(module, names, level)
is a class defined in the ast
module that is used to express the from x import y
statement in Python in the form of an
When the parse()
method of ast
is called on a Python source code that contains the import
keyword preceded by from
, the ast.ImportFrom
class is invoked, which expresses the from x import y
statement to a node in an ast
tree data structure.
The ast.Import
class represents the ImportFrom node type in the ast
tree. The module
in the class parameter contains the name of the module, names
contains the list of alias nodes representing the methods imported from the module
, and level
is an integer representing the level of import. For instance, means absolute import.
Note: If the
import
statement is NOT preceded by thefrom
keyword, then theast.Import
class is invoked instead.
import ast from pprint import pprint class ImportFromVisitor(ast.NodeVisitor): def visit_ImportFrom(self, node): print('Node type: ImportFrom\nFields:', node._fields) ast.NodeVisitor.generic_visit(self, node) def visit_alias(self, node): print('Node type: alias\nFields:', node._fields) ast.NodeVisitor.generic_visit(self, node) visitor = ImportFromVisitor() tree = ast.parse('from ast import parse, dump') pprint(ast.dump(tree)) visitor.visit(tree)
ImportFromVisitor
class that extends from the parent class ast.NodeVisitor
. We override the predefined visit_ImportFrom
and visit_alias
methods in the parent class, which receive the ImportFrom
and alias
nodes, respectively. In the method, we print the type and the fields inside the node and call the generic_visit()
method, which invokes the propagation of visit on the children nodes of the input node.visitor
object of the class ImportFromVisitor
.from ast import parse, dump
and send it to the ast.parse()
method, which returns the result of the expression after evaluation, and then store it in tree
.ast.dump()
method returns a formatted string of the tree structure in tree
.visit
method available to the visitor
object visits all the nodes in the tree structure.RELATED TAGS
CONTRIBUTOR
View all Courses