You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Quick and dirty debugging output for tired programmers.
For a short demo, watch the Lightning Talk from PyCon 2013.
Install q with pip install -U q.
All output goes to /tmp/q (or on Windows, to $HOME/tmp/q). You can
watch the output with this shell command while your program is running:
tail -f /tmp/q
To print the value of foo, insert this into your program:
import q; q(foo)
To print the value of something in the middle of an expression, you can
wrap it with q(). You can also insert q/ or q| into the expression;
q/ binds tightly whereas q| binds loosely. For example, given this
statement:
file.write(prefix + (sep or '').join(items))
you can print out various values without using any temporary variables:
file.write(prefix + q(sep or '').join(items)) # prints (sep or '')
file.write(q/prefix + (sep or '').join(items)) # prints prefix
file.write(q|prefix + (sep or '').join(items)) # prints the arg to write
To trace a function (showing its arguments, return value, and running time),
insert this above the def:
import q
@q
To start an interactive console at any point in your code, call q.d():
import q; q.d()
By default the output of q is not truncated, but it can be truncated by calling:
q.short
Truncation can be reversed by:
q.long# Truncates output to 1,000,000q.long=2000000# Truncates output to 2,000,000