我必须从浏览器中读取一个txt ini文件。 [这是必需的]
res = urllib2.urlopen(URL)
inifile = res.read()
然后我想基本上使用它,就像我读过任何txt文件一样。
config = ConfigParser.SafeConfigParser()
config.read( inifile )
但现在看起来我无法使用它,因为这实际上是一个字符串
有人可以提出解决方法吗?
答案 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)