Уведомления

Группа в Telegram: @pythonsu

#1 Окт. 9, 2014 11:43:25

rs95
Зарегистрирован: 2014-10-09
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

скачивание конфига по URL

Здравстуйте!
Я освоил ConfigParser и urllib2, теперь пытаюсь заставить программу брать конфиг с другого сервера.

import ConfigParser,urllib2
Config = ConfigParser.ConfigParser()
req = urllib2.Request("http://*****.ru/thermo/thermo.ini")
response = urllib2.urlopen(req)
print response.read() #печатает текст конфига ОК
Config.read(response)
print Config.sections() # выводит только "[]"
Очевидно, что Config.read не принимает результат скачивания файла. Что здесь нужно исправить?

Отредактировано rs95 (Окт. 9, 2014 11:43:45)

Офлайн

#2 Окт. 9, 2014 12:35:46

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

скачивание конфига по URL

Config.read(filenames) ждет в качестве аргумента список имен файлов или имя файла, вы даете ему совсем не это.



Офлайн

#3 Окт. 9, 2014 13:00:31

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10015
Репутация: +  857  -
Профиль   Отправить e-mail  

скачивание конфига по URL

Для второго:

>>> import ConfigParser
>>> import StringIO
>>> 
>>> s = """
... [test]
... a=1
... b=2
... """
>>> 
>>> cp = ConfigParser.ConfigParser()
>>> cp.readfp(StringIO.StringIO(s))
>>> cp.sections()
['test']
>>> cp.get('test', 'a')
'1'
>>>

А в третьем есть .read_string() .



Офлайн

#4 Окт. 9, 2014 21:37:37

rs95
Зарегистрирован: 2014-10-09
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

скачивание конфига по URL

Спасибо, py.user.next!
написал так:

import ConfigParser
import StringIO
import urllib2
data = urllib2.urlopen("http://*****.ru/thermo/thermo.ini").read(2000)
print data
cp = ConfigParser.ConfigParser()
cp.readfp(StringIO.StringIO(data))
print cp.sections()
print cp.get('thermo', 'temp2')

Отредактировано rs95 (Окт. 9, 2014 21:38:26)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version