celery.utils.saferepr
Streaming, truncating, non-recursive version of repr()
.
Differences from regular repr()
:
Sets are represented the Python 3 way: {1, 2}
vs set([1, 2])
.
Unicode strings does not have the u'
prefix, even on Python 2.
Empty set formatted as set()
(Python 3), not set([])
(Python 2).
Longs don't have the L
suffix.
Very slow with no limits, super quick with limits.
-
celery.utils.saferepr.reprstream(stack: ~collections.deque, seen: ~typing.Set | None = None, maxlevels: int = 3, level: int = 0, isinstance: ~typing.Callable = <built-in function isinstance>) → Iterator[Any][源代码]
Streaming repr, yielding tokens.
-
celery.utils.saferepr.saferepr(o: Any, maxlen: int = None, maxlevels: int = 3, seen: Set = None) → str[源代码]
Safe version of repr()
.
警告
Make sure you set the maxlen argument, or it will be very slow
for recursive objects. With the maxlen set, it's often faster
than built-in repr.