在测试服务时,我在python中创建了一个函数,在访问点URL上调用http请求。响应将保存到给定路径中的文件中。
import urllib.request
import urllib.response
import urllib.parse
def get_response(service_access_point, request_parameters, response_file_path):
req = urllib.request.urlopen(service_access_point.format(request_parameters))
res = req.read().decode('utf-8')
response_file = open(response_file_path, 'w')
response_file.write(res)
response_file.flush()
response_file.close()
此函数应调用request并返回xml文件。确实如此,但每两行之间添加了一个新的空白行。
<FeatureCollection timeStamp="2015-05-21T17:44:24" numberMatched="1637" numberReturned="1637" xmlns="http://www.opengis.net/wfs/2.0">
<boundedBy>
<Envelope srsName="urn:ogc:def:crs:EPSG::5514" srsDimension="2">
<lowerCorner>-559647.09 -1108439.9</lowerCorner>
<upperCorner>-555782.49 -1104336.04</upperCorner>
</Envelope>
</boundedBy>
<member>
<Address gml:id="AD.16238842">
...
</Address>
</member>
在这种形式下,无法验证文件或在某些程序(GIS等)中打开它。是否有可能强迫
答案 0 :(得分:1)
你可以试试这个:
...
res = req.read().decode('utf-8')
res = "".join(filter(str.strip, res.split('\n'))) # remove blank lines
response_file = open(response_file_path, 'w')
response_file.write(res)
...
如果您愿意,这是一种功能性的风格。