为什么在Python中['Mr David',23,'City']变成[\'Mr David',23,\'City\']?

2024-10-03 04:27:23 发布

您现在位置:Python中文网/ 问答频道 /正文

我的问题是:['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

我想做什么:我从一个文件中读取它,然后尝试将它重写到内存中(因为我不知道如何处理存储在磁盘上的文件中的列表?)你知道吗


Tags: 文件path代码incityforopench
2条回答

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

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

你想读入一个列表。但是,当您在文件上循环时,每一行都被读取为一个字符串。所以ch是一个字符串,但您希望它是一个列表。你知道吗

如果您相信列表文件的内容包含安全表达式,那么可以让python对字符串求值

ListNow.append(eval(ch))

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

在Python中打印列表时,它使用repr来重新生成值,该值将将每个列表项表示为Python字符串文本。如果要分别打印每个值,可以执行以下操作:

for item in ListNow:
    print item

(顺便说一句,阿尔沙吉下面的评论或许可以更清楚地解释这一点。谢谢!)你知道吗

相关问题 更多 >