【发布时间】:2018-11-03 15:19:35
【问题描述】:
我终于想出了如何将我的字典与数据转换成一个字符串,这给了我想要的输出。我想知道如何使这段代码更密集。有什么建议?
import urllib.parse
import urllib.request
import re
#user input
start = '19851123'
end = '19851124'
stns = [('235','240')]
var = [('TEMP')]
#format input to dict
req = {
'start':start,
'end':end,
'vars':var,
'stns':stns
}
#format dict to url strg without modifing the 'safe characters'
q = urllib.parse.urlencode(req, doseq = True, safe="()',")
#removing the 'safe characters' and turn '+' into ':'
q = re.sub("[\(',\)]", "", q)
q = re.sub("\+", ":", q)
#combine the url and query
url = 'http://projects.knmi.nl/klimatologie/daggegeven/getdata_dag.cgi?%s' % q
#create a handel with url+query
fhand = urllib.request.urlopen(url)
#print requested data whitout header
for line in fhand:
if not line.decode().startswith('#'):
print(line.decode().strip())
【问题讨论】:
-
@JoeIddon 随意推荐 CR 上的 OP 帖子,但在未来,请不要使用代码审查作为关闭问题的理由。评估请求并使用太宽泛、主要基于意见等原因。然后您可以向 OP 提及它可以在 Code Review 上发布(如果是) on-topic。请参阅this answer to A guide to Code Review for Stack Overflow users 中的你不应该做的事情部分
-
@SamOnela 好的,感谢您的评论。我通常不会关闭代码审查,但觉得这个问题更适合那个 SE。将来我将关闭主要基于意见,因为我同意这是一个更好的选择。