在请求中插入变量

时间:2018-08-22 13:18:57

标签: string dictionary request python-3.6

我有2个变量:

minCount = 1
maxCount = 1000

我想像这样将它们插入到我的请求中:

params = {'f': 'json', 'where': 'OBJECTID>=minCount and OBJECTID<=maxCount', 'geometryType': 'esriGeometryPolygon', 'spatialRel': 'esriSpatialRelIntersects','outFields': '*', 'returnGeometry': 'true'}

我已经尝试过多种变体,但是不起作用(AttributeError: 'dict' object has no attribute 'format'{'error': {'code': 400, 'message': 'Unable to complete operation.', 'details': []}}):

params = {'f': 'json', 'where': 'OBJECTID>={minCount} and OBJECTID<={maxCount}', 'geometryType': 'esriGeometryPolygon', 'spatialRel': 'esriSpatialRelIntersects','outFields': '*', 'returnGeometry': 'true'}

使此功能正常工作的正确语法是什么?

1 个答案:

答案 0 :(得分:0)

好的,我解决了这个问题。这有点棘手,因为变量值仍然必须保留为字符串,但这是可行的:

params = {'f': 'json', 'where': 'OBJECTID>='+str(minCount)+'and OBJECTID<='+str(maxCount), 'geometryType': 'esriGeometryPolygon', 'spatialRel': 'esriSpatialRelIntersects','outFields': '*', 'returnGeometry': 'true'}