python 如何导入和使用一行模块

nszi6y05  于 2023-02-21  发布在  Python
关注(0)|答案(2)|浏览(115)

我有这个代码,从互联网上加载天然气存储号码。

from urllib.request import urlopen
print(int(str(urlopen("http://ir.eia.gov/ngs/wngsr.txt").read()).split("\\n")[4].split(" ")[2]))

我怎么能在一行中做到这一点呢?更具体地说,我想知道我怎么能摆脱导入行,做这样的事情:

print(int(str(urllib.request.urlopen("http://ir.eia.gov/ngs/wngsr.txt").read()).split("\\n")[4].split(" ")[2]))

(我将urlopen调用改为urllib.request.urlopen。这有点像Java,如果使用完全限定名,就不需要import语句。)

p1iqtdky

p1iqtdky1#

当尝试Zizouz212的建议时,我发现这个很有效

print(int(str(__import__('urllib').request.urlopen("http://ir.eia.gov/ngs/wngsr.txt").read()).split("\\n")[4].split(" ")[2]))
ql3eal8s

ql3eal8s2#

您总是需要导入,但是您仍然可以使用分号来分隔语句:

from urllib.request import urlopen; print(int(str(urllib.request.urlopen("http://ir.eia.gov/ngs/wngsr.txt").read()).split("\\n")[4].split(" ")[2]))
#             note the semi-colon ^

相关问题