Tôi đã sử dụng một cái gì đó như thế này. Nó tương tự nhưng không chính xác những gì bạn đang tìm kiếm. Bạn có thể điều chỉnh đầu ra của chuỗi tài liệu theo nhu cầu của mình.
###############################################################################
def about(obj=None, text=None, capsOnly=False, noLeadingUnderScores=False):
"""
Utility function to assist with discovery while playing in the Python
shell. When possible, returns the sorted dir() and values() of the
specified object.
* noLeadingUnderScores - toggles display filtering of items that have a
leading underscore; only applies to dir() not
values() items.
* capsOnly - toggles display filtering of items that are uppercase only.
this only applies to dir() not values() items.
* text - toggles the display filtering of items that have 'text'
within their string; applies to both dir() and values() items.
"""
print "\n*******************\n* print __obj__ *\n*******************\n"
if obj is None:
print "about() is meaningless as 'obj' is None"
else:
# diplay help(), if possible
try:
if obj.__doc__:
print "\n\n********************\n* HELP() results *\n********************\n"
for x in obj.__doc__.split('\n'):
print x
except:
print "\nno __obj__ available"
# display dir(), if possible
print "\n\n*******************\n* DIR() results *\n*******************\n"
for x in sorted(dir(obj)):
temp = "%s" % x
if noLeadingUnderScores and len(temp) > 0 and temp[0] == "_":
continue
elif capsOnly:
if temp == temp.upper():
if text and text in temp:
print temp
else:
continue
elif text:
if text in temp:
print temp
else:
print temp
# display values(), is possible
try:
if obj.values and type(obj.values) == type({}):
print "\n\n**********************\n* DICT values(k,v) *\n**********************\n"
for x in sorted(obj.values.keys()):
if text:
if text in x or text in str(obj.values[x]):
print x, obj.values[x]
else:
print x, obj.values[x]
except:
print "\nno dictionary like obj.values available"
Nguồn
2017-08-21 14:27:26