【发布时间】:2011-05-20 13:23:52
【问题描述】:
在http://docs.python.org/library/json.html:
simplejson.load(fp[, encoding[, cls[, object_hook[, parse_float[, parse_int[, parse_constant[, object_pairs_hook[, use_decimal[, **kw]]]]]]]]])将 fp(包含 JSON 文档的支持 .read() 的类文件对象)反序列化为 Python 对象。
我知道read() 和write() 做什么。
但是看了这个描述“read()-supporting file-like object”后,我发现我不知道什么对象类型支持read()和write()。
我在其他文档中找不到。 任何人都可以详细说明该声明吗?
我问这个问题是为了完成“simplejson.load(urllib.open(...))”。
“urllib.open(...)”的返回值不是一个有效的对象,所以我必须为simplejson定制它。但是,该字符串似乎不支持 read()。
【问题讨论】:
-
好吧,你自己回答了你的问题:真的 any 支持正确调用 read()、write() 或两者的对象被认为是一个文件-像对象。它真的可以是你喜欢的任何对象——鸭子打字的乐趣。
-
我认为没有任何官方标准。大多数接口应该准确地指定它们需要的功能。如果你想知道其他东西是否支持所需的东西,你必须查看它的文档或阅读它的源代码。
-
“类文件对象”实际上是precisely defined。
标签: python