filename = "dict.json"
def read_dict(filename):
file = open( script_dir + filename )
dict = json.load( file )
file.close()
return dict
def test(dict):
key = raw_input("enter key: ")
for element in dict:
while key in element:
print element
key = raw_input("key taken, try again: ")
val = raw_input("enter val: ")
new_element = {key:val}
#lets get some clear output
print new_element
print key
dict.append(new_element)
print dict
#return dict
test(read_dict(filename))
Вывод:
^_^ python newnor.py
enter key: både
enter val: both
{'b\xc3\xa5de': 'both'}
både
[{u'foo': u'bar'}, {u'moo': u'mar'}, {'b\xc3\xa5de': 'both'}]
Я уже настроил панель foo и moo mar ... но меня смущает то, почему, когда я печатаю свой ключ, это нормальнострока, но потом, когда я создаю словарь (new_element), он становится фантом юникода ...
Я попытался поиграть с str () и unicode (), но пока не получилось.Любые идеи?
edit:
пробовал это:
import sys
def key():
k = raw_input()
k = k.decode(sys.stdin.encoding)
element = {k:"bar"}
print element
key()
termianl:
^_^ python qtest.py
både
{u'b\xe5de': 'bar'}
так что по крайней мере есть u
infrontоб этом ...