Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/283.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么[&';大卫先生';,23,&';城市&';]在Python中变成了[&&&';大卫先生&';,23,&&';城市&&#?_Python_Text - Fatal编程技术网

为什么[&';大卫先生';,23,&';城市&';]在Python中变成了[&&&';大卫先生&';,23,&&';城市&&#?

为什么[&';大卫先生';,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 我试图做的是:我从一个文件中读取它,然后尝试将它重写到内存中(因为我不知道如何处理存储在磁盘上的文件

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

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

在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