[問題] python 新手求教 txt輸出問題

作者: ck237 (白色小雞)   2020-11-16 10:32:32
各位大大好!
我是剛接觸一個月的小新手,我想讓txt檔案裡的的字典拿出來使用
程式如下:
txt檔案裏面是一個 {'p233':'p321'}
poem = ''
fin = open('relativity','rt')
while True:
line = fin.readline()
if not line:
break
poem += line
print (line)
{'p233':'p321'}
print (line[0])
讀取的結果是 {
想要知道我要怎麼可以正常使用這個字典!
感謝大家
我希望是能變回
X = {'p233':'p321'}
print (X['p233'])
'p321'
作者: s0914714 (YA)   2020-11-16 11:23:00
line[0] 是 '{'不是很合理嗎?
作者: ck237 (白色小雞)   2020-11-16 11:26:00
因該這樣問,我想讓那個字典可以繼續運用我該怎麼做?
作者: s0914714 (YA)   2020-11-16 11:43:00
d = eval(X) d['p233']X必須是python dictionary的字串表示形式
作者: tsoahans (ㄎㄎ)   2020-11-16 11:44:00
X = eval(line)不然就是改用json或pickle存字典
作者: sating00 (sating00)   2020-11-16 13:01:00
沒有型別造成的誤認,本來是字典,存到txt變成字串,字串的第0個(list[0])就是{,應該可以用像上面版友提到的方式將文字轉成你原本要的字典,或用json格式會比較通用
作者: chickengod (雞大俠)   2020-11-16 13:29:00
作者: s0914714 (YA)   2020-11-16 14:54:00
不過eval盡量不要用於未知字串 避免發生危險
作者: ck237 (白色小雞)   2020-11-16 16:21:00
謝謝各位大大,用Jason成功寫出來了!
作者: aidansky0989 (alta)   2020-11-16 19:27:00
先google
作者: Sunal (SSSSSSSSSSSSSSSSSSSSSSS)   2020-11-18 00:26:00
Jason 出來打球??

Links booklink

Contact Us: admin [ a t ] ucptt.com