2014-09-20 75 views
0

我必須從瀏覽器讀取txt ini文件。 [這是必需的]使用configparser從URL中使用urllib2讀取的文本

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

然後,我想基本上使用這種方式,因爲我會讀取任何txt文件。

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

但現在看起來我不能使用它,因爲這實際上是一個字符串現在

任何人都可以提出圍繞一個辦法嗎?

回答

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) 
相關問題