2015-12-21 75 views
0

我希望能够做这样的事情(Python 3中):如何在Python中通过HTTP读取配置文件?

config = configparser.ConfigParser() 

config.read('http://example.com/myconfig.cfg') 

什么是阅读在Python通过HTTP配置文件的最好方法?如果有更好的选择,我还没有与configparser结婚。

+0

只是为了确保:加载外部资源时要小心。他们可以发布安全风险。 –

回答

0

您可以使用urllib2来通过HTTP读取文件并用config.readfp提供它。

import urllib2 

config = configparser.ConfigParser() 

r = urllib2.urlopen("http://example.com/myconfig.cfg") 
config.readfp(r) 
+0

注意:这是Python 3,假设使用3.2+,您需要使用['read_file'](https://docs.python.org/3/library/configparser.html#configparser.ConfigParser.read_file),而不是'readfp'。 'readfp'从3.2开始已被弃用。同样,你想['urllib.request.urlopen'](https://docs.python.org/3/library/urllib.request.html#urllib.request.urlopen),而不是'urllib2.urlopen'任何Py3版本。 – ShadowRanger

+0

使用ShadowRanger的建议,我不得不这样做: config.read_string(r.read()。decode('utf-8')) urllib.request.urlopen返回一个http.client.HTTPResponse对象,所以我不得不这样做,哪个起作用,它看起来是最好的方式吗? –