Уведомления

Группа в Telegram: @pythonsu

#1 Июнь 14, 2011 14:51:15

Immor+al
От:
Зарегистрирован: 2011-03-10
Сообщения: 35
Репутация: +  0  -
Профиль   Отправить e-mail  

Как загрузить Dictionarу из py файла

Мне нужно загрузить содержимое словаря из файла filelist.py, который в свою очередь скачивается с дропбокса.
Содержимое файла:

filelist = {
'switchall': "http://site.local/build/switch-all.bat",
'build': "http://site.local/build/build.xml"
}
Как поднянуть все коллекции и переменные из py файла?
Коллекция пока одна, но я ищу механизм хранения настроек в py.



Отредактировано (Июнь 14, 2011 15:05:25)

Офлайн

#2 Июнь 14, 2011 15:22:28

knkd
От:
Зарегистрирован: 2009-06-14
Сообщения: 225
Репутация: +  0  -
Профиль   Отправить e-mail  

Как загрузить Dictionarу из py файла

settings.py

filelist = {
'switchall': "http://site.local/build/switch-all.bat",
'build': "http://site.local/build/build.xml"
}
main.py
from settings import filelist

...
Но лучше используйте нормальные файлы настроек.
json например.

settings.json
{
"switchall": "http://site.local/build/switch-all.bat",
"build": "http://site.local/build/build.xml"
}
import json

try:
settings = json.load(open("settings.json"))
except:
КАРАУЛ!!!



Отредактировано (Июнь 14, 2011 15:35:35)

Офлайн

#3 Июнь 15, 2011 20:20:27

Immor+al
От:
Зарегистрирован: 2011-03-10
Сообщения: 35
Репутация: +  0  -
Профиль   Отправить e-mail  

Как загрузить Dictionarу из py файла

Сделал через json но оно сохраняет в виде:
{
“todo.txt”: ,
“helloworld.py”:
}

Теперь немогу разобраться как пройтись по словарю:

filelist_filename = "filelist.json"
try:
filelist = json.load(open(filelist_filename))
except:
print "ERROR OPENING JSON!"
for k, v in filelist:
#for i in range(len(v)):
print "%s=%s" % (k, v[0]) #len(v)
Выдает
Traceback (most recent call last):
File "get.py", line 94, in main
for k, v in filelist:
ValueError: too many values to unpack
На код можно глянуть тут: http://bit.ly/lci2Y4
Бранч: json Файл: get.py
Запускать как: python get.py todo.txt
При этом в filelist.json должно быть содержимое, приведенное выше.



Отредактировано (Июнь 15, 2011 20:34:14)

Офлайн

#4 Июнь 15, 2011 23:05:46

knkd
От:
Зарегистрирован: 2009-06-14
Сообщения: 225
Репутация: +  0  -
Профиль   Отправить e-mail  

Как загрузить Dictionarу из py файла

        filelist_filename = "filelist.json"
try:
filelist = json.load(open(filelist_filename))
except:
print "ERROR OPENING JSON!"
sys.exit(1) # иначе продолжаем программу без филелиста.

for key in filelist:
print filelist[key] # А чего вы добивались помещая имена в список из одного элемента, я не понимаю.



Отредактировано (Июнь 15, 2011 23:06:40)

Офлайн

#5 Июнь 16, 2011 00:19:00

Immor+al
От:
Зарегистрирован: 2011-03-10
Сообщения: 35
Репутация: +  0  -
Профиль   Отправить e-mail  

Как загрузить Dictionarу из py файла

Спасибо, разобрался.
Скопипастил пример с лишними скобками в функцию добавления в словарь:
filelist = Поменял на:
filelist = url
и все ок.



Отредактировано (Июнь 16, 2011 00:23:12)

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version