Python ast.literal_eval()不起作用

时间:2017-02-01 01:20:19

标签: python sqlite abstract-syntax-tree

我从sqlite3数据库中获取字符串列表,并且我试图将字符串列表转换为实际  列表数据类型。

print(all_houses)
print(type(all_houses))
houses=[]
for h in all_houses:
    temp=[]
    h1=h['imgLocations']
    print(h1)
    print(type(h1))
    # converts string list to real list
    h1 = ast.literal_eval(h1)
    print(h1)
    print(type(h1))

我收到此错误。

    File "C:\Users\Matt\Google Drive\HeritageEstates_website\views.py", line 410, in preown
h1 = ast.literal_eval(h1)
File "C:\Users\Matt\Anaconda3\lib\ast.py", line 46, in literal_eval
node_or_string = parse(node_or_string, mode='eval')
File "C:\Users\Matt\Anaconda3\lib\ast.py", line 35, in parse
return compile(source, filename, mode, PyCF_ONLY_AST)
File "<unknown>", line 1
SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape

这是它所做的所有印刷陈述

 [{'visible': 1, 'hPrice': 123, 'imgLocations': "['C:\\Users\\riger\\Google Drive\\HeritageEstates_website\\images//asdasd.jpg']", 'hDesc': '1 bedroom'}, {'visible': 1, 'hPrice': 124124, 'imgLocations': "['C:\\Users\\riger\\Google Drive\\HeritageEstates_website\\images//Keyboard.JPG']", 'hDesc': '1231'}, {'visible': 1, 'hPrice': 123, 'imgLocations': "['C:\\Users\\riger\\Google Drive\\HeritageEstates_website\\images//me.jpg']", 'hDesc': '123'}]
<class 'list'>
['C:\Users\riger\Google Drive\HeritageEstates_website\images//asdasd.jpg']
<class 'str'>

我在另一个网站上做了同样的事情并且它有效。我也有import ast

我不知道为什么它不起作用。

0 个答案:

没有答案