【发布时间】:2015-08-19 20:35:10
【问题描述】:
我的问题是一个相当直截了当的问题。我有这段代码可以从互联网上加载天然气储存号码。
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,如果您使用完全限定名称,则不需要导入语句。你知道有什么办法吗?谢谢!
【问题讨论】:
-
你总是需要导入
-
查看 dunder__import__ 内置。但这是一个糟糕的主意。
-
Python 导入不只是在本地命名空间中创建对该类或函数的引用(如 Java),它们还运行模块的
__init__.py代码来设置环境以支持模块的函数和类。这就是为什么它们在使用前总是需要导入。 -
另外,我想问自己一个问题'为什么'我想这样做?除非一条线非常快或其他什么 - 在您的特定示例中不是这种情况!
-
@jwilner Lol 我明白了,但是当我使用 import 时,我无法从中调用函数。也许我做错了什么?
标签: python string url import python-import