Python Tools - Utilities - Tutorialspoint
Python Tools - Utilities - Tutorialspoint
The standard library comes with a number of modules that can be used both as modules and as
command-line utilities.
The dis module is the Python disassembler. It converts byte codes to a format that is slightly more
appropriate for human consumption.
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)
The pdb module is the standard Python debugger. It is based on the bdb debugger framework.
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)
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)
The profile module is the standard Python profiler. You can run the profiler from the command line −
Example
#!/usr/bin/python
vara = 10
varb = 20
$cProfile.py sum.py
vara + varb = 30
4 function calls in 0.000 CPU seconds
The tabnanny module checks Python source files for ambiguous indentation. If a file mixes tabs and
spaces in a way that throws off indentation, no matter what tab size you're using, the nanny complains −
Example
#!/usr/bin/python
vara = 10
varb = 20
$tabnanny.py -v sum.py
'sum.py': Clean bill of health.