簡體   English   中英

您可以使用{}和.format將值放入字典中嗎

[英]Can you use {} and .format to put values into a dictionary

我正在編寫腳本來查詢ArcGIS Rest服務並返回記錄。 我想使用{}和.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))

如果我將此用於參數,它將起作用

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'}

什么是正確的python格式來做到這一點?

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表達式來產生值,包括在字符串上調用方法並將結果用作值。

嘗試這個:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM