我正在尝试使用Praw编写Reddit机器人,这是我的功能:submission = reddit.submission(mention.submission.id)
(我之前已经定义了reddit = praw.Reddit()
等,因此提交应该给我一个submission object。
首先,我要检查提交的内容是自发帖子还是链接。我可以通过检查submission.is_self
来做到这一点。但是,出于好奇,我尝试打印dir(submission)
和submission.__dict__
,但都没有将is_self
列为对象的属性。
为什么呢?我如何可靠地找到对象的所有属性,而不必深入研究库本身的源代码?在这方面,Praw的文档缺乏。
最佳答案
PRAW使用__getattr__
魔术来动态获取和设置对象属性(请参见praw/models/reddit/base.py
中的RedditBase类)。这就是dir()
不显示它的原因。is_self
在源代码中的任何地方都不存在,因为该字符串基于从reddit接收的数据。
关于python - 如何在Python中列出对象的所有属性?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47825548/