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

时间:2015-06-05 02:12:12

标签: python string url import python-import

我的问题非常简单。我有这个代码,可以从互联网上加载天然气存储号码。

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语句。你知道怎么办?谢谢!

2 个答案:

答案 0 :(得分:5)

你总是需要导入,但你仍然可以使用分号来分隔语句,但为什么要这样做呢??!?!?

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 ^

答案 1 :(得分:3)

在尝试Zizouz212的建议时,我发现这有效

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