Python Tools Utilities
Python Tools Utilities
Python Tools/Utilities
Advertisements
The standard library comes with a number of modules that can be used both as modules and as command-line utilities.
You can run the disassembler from the command line. It compiles the given script and prints the disassembled byte codes to the STDOUT.
You can also use dis as a module. The dis function takes a class, method, function or code object as its single argument.
Example
#!/usr/bin/python
import dis
def sum():
vara = 10
varb = 20
dis.dis(sum)
6 0 LOAD_CONST 1 (10)
3 STORE_FAST 0 (vara)
7 6 LOAD_CONST 2 (20)
9 STORE_FAST 1 (varb)
9 12 LOAD_FAST 0 (vara)
15 LOAD_FAST 1 (varb)
18 BINARY_ADD
19 STORE_FAST 2 (sum)
You can run the debugger from the command line (type n [or next] to go to the next line and help to get a list of available commands) −
Example:
Before you try to run pdb.py, set your path properly to Python lib directory. So let us try with above example sum.py −
$pdb.py sum.py
> /test/sum.py(3)<module>()
-> import dis
(Pdb) n
> /test/sum.py(5)<module>()
-> def sum():
(Pdb) n
>/test/sum.py(14)<module>()
-> dis.dis(sum)
(Pdb) n
6 0 LOAD_CONST 1 (10)
3 STORE_FAST 0 (vara)
https://www.tutorialspoint.com/python/python_tools_utilities.htm 1/3
9/30/2017 Python Tools/Utilities
7 6 LOAD_CONST 2 (20)
9 STORE_FAST 1 (varb)
9 12 LOAD_FAST 0 (vara)
15 LOAD_FAST 1 (varb)
18 BINARY_ADD
19 STORE_FAST 2 (sum)
Example
Let us try to profile the following program −
#!/usr/bin/python
vara = 10
varb = 20
$cProfile.py sum.py
vara + varb = 30
4 function calls in 0.000 CPU seconds
Example
Let us try to profile the following program −
#!/usr/bin/python
vara = 10
varb = 20
If you would try a correct file with tabnanny.py, then it won't complain as follows −
$tabnanny.py -v sum.py
'sum.py': Clean bill of health.
Advertisements
https://www.tutorialspoint.com/python/python_tools_utilities.htm 2/3
9/30/2017 Python Tools/Utilities
https://www.tutorialspoint.com/python/python_tools_utilities.htm 3/3