【问题标题】:How to call a specific, unknown Python object attribute?如何调用特定的、未知的 Python 对象属性?
【发布时间】:2010-06-03 02:49:15
【问题描述】:

我正在创建一个简单的 Python 脚本,它最终会告诉您在给定月份发布了多少博客条目,而 pyblog 应用程序证明非常有用。

但是,当我创建博客对象时,我不知道如何访问它的各种属性。我可以通过打印字典中的一项来将它们全部打印出来,如下所示(摘录):

print blog.get_recent_posts(1)

[{'mt_keywords': 'Storage in 2010, Storage, Twitter', 'permaLink': 'http://itknowledgeexchange.techtarget.com/IT-watch-blog/cream-of-the-twitter-crop-storage-edition/', 'wp_slug': 'cream-of-the-twitter-crop-storage-edition', 'description': '<a href="http://http.cdnlayer.com/itke/blogs.dir/141/files/2010/06/follow.jpg"><img class="alignright size-medium wp-image-1148" style="margin: 4px" src="http://http.cdnlayer.com/itke/blogs.dir/141/files/2010/06/follow.jpg" alt="" width="279" height="157" /></a>Here they are, this month\'s specialized top 10 Twitter accounts. From IT pros with impressive storage insight to the industry greats sending out updates on their company\'s innovations, check out these folks on Twitter for daily bites of what you need to know about storage.\n<ul>\n\t<li><a href="http://twitter.com/3parfarley" target="_blank">3parfarley</a>: Marc Farley, the blogger behind StorageRap, sends out bite-sized bits of storage info. He\'s also one of <a title="Marc Farley" href="http://searchstorage.techtarget.com/expert/KnowledgebaseBio/0,289623,sid5_cid382505,00.html" target="_blank">SearchStorage.com\'s experts</a>.</li>\n\t<li><a href="http://twitter.com/storagenerve" target="_blank">StorageNerve</a>: Devang Panchigar is in the storage/virtualization/computer industry; he blogs over at StorageNerve and Gestalt IT.</li>\n\t<li><a href="http://twitter.com/skenniston" target="_blank">skenniston</a>: Follow the Storage Alchemist himself.</li>\n\t<li><a href="http://twitter.com/storageanarchy" target="_blank">StorageAnarchy</a>: From the blogger behind Storage Anarchy, get some storage rebel yells in 140 characters or less.</li><li>', 'title': 'Cream of the Twitter Crop: Storage Edition', 'post_status': 'publish', 'date_created_gmt': <DateTime '20100601T19:27:17' at 2853530>, 'mt_excerpt': '', 'userid': '288', 'dateCreated': <DateTime '20100601T14:27:17' at 28533a0>, 'custom_fields': [{'value': '', 'id': '1317', 'key': 'brightcove_code'}, {'value': 'http://bit.ly/d0Rywl', 'id': '1403', 'key': 'topsy_short_url'}, {'value': '1', 'id': '1319', 'key': '_edit_last'}, {'value': '1275511812', 'id': '1318', 'key': '_edit_lock'}, {'value': 'http://itknowledgeexchange.techtarget.com/IT-watch-blog/cream-of-the-twitter-crop-storage-edition/', 'id': '1402', 'key': '_topsy_long_url'}], 'wp_author_display_name': 'Melanie Yarbrough', 'link': 'http://itknowledgeexchange.techtarget.com/IT-watch-blog/cream-of-the-twitter-crop-storage-edition/', 'mt_text_more': u'<a href="http://twitter.com/storagetexan" target="_blank">StorageTexan</a>: He\'s got 15 years in the IT industry, 10 of them spent - proudly - as a storage geek.</li>\n\t<li><a href="http://twitter.com/storage_wonk" target="_blank">Storage_Wonk</a>: Xiotech\'s principle architect blogs over at Storage Wonk.</li>\n\t<li><a href="http://twitter.com/storageio" target="_blank">storageio</a>: Greg Schulz is an independent IT advisor and consultant, and he blogs over at the Storageio blog.</li>\n\t<li><a href="http://twitter.com/saveonstorage" target="_blank">SaveOnStorage</a>: If you\'re looking to lower your TCO, check out Hitachi Data Systems\' Twitter account dedicated to just that with sustainable storage investments. Vendor(ish).</li>\n\t<li><a href="http://twitter.com/seagate" target="_blank">Seagate</a>: The "world leader" in storage devices. Vendor(ish).</li>\n\t<li><a href="http://twitter.com/compellent" target="_blank">Compellent</a>: Compellent\'s official Twitter for all things enterprise storage. Vendor(ish).</li>\n</ul>\nAnd there\'s always us. <a href="http://twitter.com/itke" target="_blank">Follow ITKE on Twitter</a> for updates on the IT community and industry. Did we miss someone? Let me know at <a href="mailto:Melanie@itknowledgeexchange.com" target="_blank">Melanie@ITKnowledgeExchange.com</a> or at the <a href="http://itknowledgeexchange.techtarget.com/itanswers/" target="_blank">ITKE Community Forum</a>.\n\n<em>Melanie Yarbrough is the assistant community editor at\xa0<a title="http://ITKnowledgeExchange." href="http://itknowledgeexchange.com/" target="_blank">ITKnowledgeExchange.com</a>. Follow her on <a href="http://twitter.com/myarbrough" target="_blank">Twitter </a>or send her an email at <a href="mailto:melanie@itknowledgeexchange.com" target="_blank">Melanie@ITKnowledgeExchange.com</a>.</em>', 'mt_allow_comments': 1, 'wp_password': '', 'postid': '1061', 'wp_author_id': '288', 'categories': ['Storage in 2010', 'Storage', 'Twitter'], 'mt_allow_pings': 1}]

但我怎样才能让它提供日期时间信息?

【问题讨论】:

  • pprint 是你的朋友。

标签: python xml-rpc


【解决方案1】:

如果blog.get_recent_posts(1) 是一本字典,那么print 将显示前导大括号和尾随大括号,而您显示的内容开始于不知名的地方,结束于另一个不知名的地方——绝对荒谬。

我会假设你做了一些奇怪的复制和过去的错误,而 一本字典。在这种情况下,获取例如创建日期很容易,只需一个索引:

print blog.get_recent_posts(1)['dateCreated']

编辑:OP 编辑​​了 Q 以显示整个结果(并提到了一些有用的错误消息),这些结果共同表明函数的结果是一个包含一个字典的列表。既然如此,那么正确的说法就变成了:

print blog.get_recent_posts(1)[0]['dateCreated']

【讨论】:

  • 你是对的。我从中间复制和粘贴以避免很长、难看的粘贴。我用整个输出更新了它,一个字典。我尝试了您的建议,但收到以下错误:“TypeError:列表索引必须是整数,而不是 str”。我尝试输入一些整数并收到错误“列表索引超出范围”,即使值为 1。不过还是谢谢指点!这对我自己的调查很有帮助。
  • 啊哈,这不是一个字典,它是一个包含一个字典的列表——用那个 very 部分输出(!)真的不可能猜到。编辑答案以向您展示如何获得您想要的。
猜你喜欢
  • 2020-12-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-08-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多