为什么[&';大卫先生';,23,&';城市&';]在Python中变成了[&&&';大卫先生&';,23,&&';城市&?
我的问题是:['Mr David',23,'City']变成[\'Mr David',23,\'City\']。你能建议如何解决这个问题吗 如果你想看的话,这里有一些代码为什么[&';大卫先生';,23,&';城市&';]在Python中变成了[&&&';大卫先生&';,23,&&';城市&?,python,text,Python,Text,我的问题是:['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 我试图做的是:我从一个文件中读取它,然后尝试将它重写到内存中(因为我不知道如何处理存储在磁盘上的文件
path = r'D:/ListFile'
rdata = open(path,'rb')
ListNow = []
for ch in rdata:
ListNow.append(ch)
print ListNow
我试图做的是:我从一个文件中读取它,然后尝试将它重写到内存中(因为我不知道如何处理存储在磁盘上的文件中的列表?)在Python中打印列表时,它使用
repr
复制值,将每个列表项表示为Python字符串文字。如果要单独打印每个值,可以执行以下操作:
for item in ListNow:
print item
(顺便说一句,arshajii下面的评论可能会更清楚地解释这一点。谢谢!)我认为您有一个文件
D:\listfile
,其中的行包含python列表,例如
['Mr David',23,'City']
您希望将其读入列表列表。但是,当您在文件上循环时,每一行都会读入一个字符串。因此ch
是一个字符串,但您希望它是一个列表
如果您相信列表文件的内容包含安全表达式,那么可以让python对字符串求值
ListNow.append(eval(ch))
如果列表文件不受信任(例如,如果它包含从网站收集的数据),这是危险的,因为列表文件中会运行恶意代码。在这种情况下,您必须分析字符串,从ch.split(',')开始只是澄清一下,当您打印列表时,它确实在列表本身上使用了
str
,但是list
的\uuuuu str\uuu
使用列表中所有元素的repr
。