-1

我的问题是:['Mr David',23,'City'] 变成 [\'Mr David\',23,\'City\']。你能建议如何解决它吗?

如果你想看,这里有一些代码..

path = r'D:/ListFile'
rdata = open(path,'rb')
ListNow = []
for ch in rdata:
    ListNow.append(ch)
print ListNow

我正在尝试做的事情:我从文件中读取它并尝试将其重写到内存中(因为我不知道如何使用存储在磁盘上的文件中的列表?)

4

2 回答 2

1

我认为您有一个文件D:\listfile,其中包含包含 python 列表的行,例如

['Mr David',23,'City'] 

你想读入列表列表。但是,当您遍历文件时,每一行都被读取到一个字符串中。字符串也是如此ch,但您希望它是一个列表。

如果您相信列表文件的内容包含安全表达式,您可以让 python 来评估字符串

ListNow.append(eval(ch))

如果列表文件不受信任(例如,如果它包含从网站收集的数据),这是很危险的,因为会运行列表文件中的恶意代码。在这种情况下,您必须从 ch.split(',') 开始分析字符串

于 2013-10-11T20:31:55.243 回答
0

当您在 Python 中打印一个列表时,它会用于repr重现该值,该值将每个列表项表示为一个 Python 字符串文字。如果要单独打印每个值,可以这样做:

for item in ListNow:
    print item

(顺便说一下,arshajii 下面的评论可能会更清楚地解释这一点。谢谢!)

于 2013-10-11T20:02:25.943 回答