2016-12-08 49 views
0

我正在編寫腳本來查詢ArcGIS休息服務並返回記錄。我想使用{}和.format來允許一次更改字典項目。我如何寫:您可以使用{}和.format將值放入字典

time = '2016-10-06 19:18:00' 
URL = 'http://XXXXXXXXX.gov/arcgis/rest/services/AGO_Street/StreetMaint_ServReqs/FeatureServer/10/query' 
params = {'f': 'pjson', 'where': "CLOSE_DATE > '{}'", 'outfields' : 'OBJECTID, REPORTED_DATE, SUMMARY, ADDRESS1, REQUEST_STATUS, CLOSE_DATE, INCIDENT_NUMBER', 'returnGeometry' : 'false'}.format(time) 
req = urllib2.Request(URL, urllib.urlencode(params)) 

,如果我用這個PARAM它會工作

params = {'f': 'pjson', 'where': "CLOSE_DATE > '2016-10-06 19:18:00'", 'outfields' : 'OBJECTID, REPORTED_DATE, SUMMARY, ADDRESS1, REQUEST_STATUS, CLOSE_DATE, INCIDENT_NUMBER', 'returnGeometry' : 'false'} 

什麼是正確的蟒蛇格式做到這一點?

+0

'format'是* strings *上的一種方法,而不是字典。你有一個字符串值,那個字符串對象肯定會支持'str.format()'方法,所以在*上調用它*。 –

+0

在字典中做什麼方法?即使鏈接到網頁也會有所幫助。 –

+0

爲什麼關注字典?你在那裏有字符串,只需在*那*上調用'format'即可。 –

回答

3

str.format字符串的方法,而不是一本字典的方法。該方法只適用於一個字符串值:在字典中的定義

params = { 
    'f': 'pjson', 
    'where': "CLOSE_DATE > '{}'".format(time), 
    'outfields' : 'OBJECTID, REPORTED_DATE, SUMMARY, ADDRESS1, REQUEST_STATUS, CLOSE_DATE, INCIDENT_NUMBER', 
    'returnGeometry' : 'false' 
} 

每個關鍵價值部分僅僅是另一種表達方式,您可以自由使用任何有效的Python表達式產生價值包括調用字符串的方法並將結果用作值。

+0

謝謝你的幫助! –

1

試試這個:

'where': "CLOSE_DATE > '{}'".format(time) 
+0

謝謝你的幫助! –

相關問題