2016-02-28 20 views
1

我想創建一個代碼對象以下選擇:我如何正確地逃避這些引號?

"LAND1"= 'Park/Recreation/Open Space' AND "LAND2"= 'Park/Recreation/Open Space' 

我曾嘗試:

code_string = """"LAND1"= 'Park/Recreation/Open Space' AND "LAND2"= 'Park/Recreation/Open Space'""" 
code_obj = compile(code_string,'<string>', 'exec') 

這給出了一個錯誤。有沒有辦法保留LAND1和LAND2的雙重qoutes?我如何在這方面使用格式?

+0

你怎麼能指定一個字符串到另一個字符串?這沒有任何意義,當然這是錯誤的。 – jonrsharpe

+1

@jonrsharpe它應該是一個字符串文字 – cat

+0

@cat但是然後OP正試圖將它編譯爲代碼。 – jonrsharpe

回答

2

什麼如下:

>>> code_string = """"LAND1"= 'Park/Recreation/Open Space' AND "LAND2"= 'Park/Recreation/Open Space'""" 
>>> code_string 
'"LAND1"= \'Park/Recreation/Open Space\' AND "LAND2"= \'Park/Recreation/Open Space\'' 
0

如果IDOS'答案是不是你想要的,也許這是什麼?

>>> string = "LAND1 = 'Park/Recreation/Open Space'; LAND2 = 'Park/Recreation/Open Space'" 
>>> exec(string) 
>>> LAND1 
'Park/Recreation/Open Space' 
>>> LAND2 
'Park/Recreation/Open Space' 

堅持一種引用。此外,由於您是exec,因此在exec'd等號的左側不能有引號,因爲分配給字符串文字沒有任何意義。