使用configparser使用urllib2从URL读取文本

时间:2014-09-20 01:46:33

标签: python configparser

我必须从浏览器中读取一个txt ini文件。 [这是必需的]

res = urllib2.urlopen(URL)
inifile = res.read()

然后我想基本上使用它,就像我读过任何txt文件一样。

config = ConfigParser.SafeConfigParser()
config.read( inifile )

但现在看起来我无法使用它,因为这实际上是一个字符串

有人可以提出解决方法吗?

1 个答案:

答案 0 :(得分:1)

你想要configparser.readfp - 大概,你甚至可以逃脱:

res = urllib2.urlopen(URL)
config = ConfgiParser.SafeConfigParser()
config.readfp(res)

假设urllib2.urlopen返回一个足够类似文件的对象(即它有一个readline方法)。为了便于调试,您可以这样做:

config.readfp(res, URL)

如果你必须从字符串中读取数据,你可以将整个内容打包到io.StringIO(或StringIO.StringIO)缓冲区并从中读取:

import io

res = urllib2.urlopen(URL)
inifile_text = res.read()

inifile = io.StringIO(inifile_text)
inifile.seek(0)
config.readfp(inifile)
相关问题