[问题] 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