I have a Python script which processes a .txt file which contains report usage information. I\'d like to find a way to cleanly print the attributes of an object using pprint\'s
pprint.pprint
doesn't return a string; it actually does the printing (by default to stdout, but you can specify an output stream). So when you write print record
, record.__str__()
gets called, which calls pprint
, which returns None
. str(None)
is 'None'
, and that gets print
ed, which is why you see None
.
You should use pprint.pformat instead. (Alternatively, you can pass a StringIO
instance to pprint
.)