Ссылаясь на этот вопрос , у меня есть похожая, но не та же проблема ..
По дороге у меня будет какой-нибудь текстовый файл, структурированный как:
var_a: 'home'
var_b: 'car'
var_c: 15.5
И мне нужно, чтобы python прочитал файл, а затем создал переменную с именем var_a со значением 'home' и т. Д.
Пример:
#python stuff over here
getVarFromFile(filename) #this is the function that im looking for
print var_b
#output: car, as string
print var_c
#output 15.5, as number.
Возможно ли, я имею в виду, даже сохранить тип var?
Обратите внимание, что у меня есть полная свобода в структуре текстового файла, я могу использовать формат, который мне нравится, если предложенный мною не самый лучший.
РЕДАКТИРОВАТЬ : ConfigParser может быть решением, но мне оно не очень нравится, потому что в моем сценарии я буду ссылаться на переменные в файле с помощью
config.get("set", "var_name")
Но я полюблю ссылку на переменную напрямую, как я ее объявил в скрипте python ...
Есть ли способ импортировать файл как словарь Python?
О, последнее, учтите, что я точно не знаю, сколько переменных у меня будет в текстовом файле.
Редактировать 2 : Я очень заинтересован в решении JSON Стефана, потому что таким образом текстовый файл может быть просто прочитан на других языках (PHP, затем через AJAX JavaScript, например), но я потерпеть неудачу в чем-то во время действия этого решения:
#for the example, i dont load the file but create a var with the supposed file content
file_content = "'var_a': 4, 'var_b': 'a string'"
mydict = dict(file_content)
#Error: ValueError: dictionary update sequence element #0 has length 1; 2 is required
file_content_2 = "{'var_a': 4, 'var_b': 'a string'}"
mydict_2 = dict(json.dump(file_content_2, True))
#Error:
#Traceback (most recent call last):
#File "<pyshell#5>", line 1, in <module>
#mydict_2 = dict(json.dump(file_content_2, True))
#File "C:\Python26\lib\json\__init__.py", line 181, in dump
#fp.write(chunk)
#AttributeError: 'bool' object has no attribute 'write'
В какие проблемы я могу попасть с форматом JSON?
И как я могу прочитать массив JSON в текстовом файле и преобразовать его в текст Python?
P.S .: Мне не нравится решение с использованием файлов .py; Я предпочитаю .txt, .inc,. Что бы не ограничивало один язык.