什么是Python中的文件类对象?

问题描述 投票:9回答:2

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(一个.read() - 支持包含JSON文档的类文件对象)反序列化为Python对象。

我知道read()write()做了什么。

但是在阅读了这个描述“read() - 支持类文件对象”之后,我发现我不知道什么对象类型支持read()write()

我在其他文档中找不到它。任何人都可以详细说明声明?

为什么我问这个问题是为了让“simplejson.load(urllib.open(...))”完成。 “urllib.open(...)”的返回值不是有效对象,因此我必须为simplejson定制它。但是,似乎该字符串不是read() - 支持。

python
2个回答
7
投票

类文件对象主要是StringIO对象,连接套接字和实际文件对象。如果一切顺利,urllib.urlopen()也会返回一个类似文件的objekt,支持必要的方法。


1
投票

simplejson具有调用load和dumps,它们使用和生成字符串而不是像对象一样的文件。

对于类文件和字符串对象,此链接在StringIO和simplejson的上下文中有一个示例。

http://svn.red-bean.com/bob/simplejson/tags/simplejson-1.3/docs/index.html

© www.soinside.com 2019 - 2024. All rights reserved.