The python compile() function takes source code as input and returns a code object which can later be executed by exec() function.
Python compile() Function Syntax
It has the following syntax:
compile(source, filename, mode, flag, dont_inherit, optimize)
Parameters
- source – normal string, a byte string, or an AST (Abstract Syntax Trees) object.
- filename – File from which the code is read.
- mode – mode can be either exec or eval or single.
- eval – if the source is a single expression.
- exec – if the source is block of statements.
- single – if the source is single statement.
- flags and dont_inherit – Default Value= 0. Both are optional parameters. It monitors that which future statements affect the compilation of the source.
- optimize (optional) – Default value -1. It defines the optimization level of the compiler.
Return
It returns a Python code object.
Different Examples of Python compile() Function
Let’s see some examples of compile() function which are given below:
Python compile() Function Example 1
This example shows to compile a string source to the code object.
# compile string source to code
code_str = 'x=5\ny=10\nprint("sum =",x+y)'
code = compile(code_str, 'sum.py', 'exec')
print(type(code))
exec(code)
exec(x)
Output:
<class 'code'>
sum = 15
Python compile() Function Example 2
This example shows to read a code from the file and compile.
Let’s say we have mycode.py file with following content.
x = 10
y = 20
print('Multiplication = ', x * y)
We can read this file content as a string ,compile it to code object and execute it.
# reading code from a file
f = open('my_code.py', 'r')
code_str = f.read()
f.close()
code = compile(code_str, 'my_code.py', 'exec')
exec(code)
Output:
Multiplication =200
Leave a Reply