import sys.path #ImportError

2013-02-02 10:05:29 +08:00
 ThunderEX
>>> import sys.path
Traceback (most recent call last):
File "<console>", line 1, in ?
ImportError: No module named path
>>> from sys import path
>>> path
['C:\\Program Files (x86)\\JetBrains\\PyCharm 2.6.1\\helpers\\pydev', ...]

我知道from import与import的不同在于前者会把module的命名空间融入当前的命名空间。
我也知道sys这个module并没有对应的sys.py,而是以binary的形式存在。

那为什么from sys import path不会异常而import sys.path会呢?
3204 次点击
所在节点    Python
5 条回复
whtsky
2013-02-02 10:14:39 +08:00
import sys
sys.path
ThunderEX
2013-02-02 10:20:16 +08:00
@whtsky 赋值当然会写……想问为什么直接import sys.path不行……
whtsky
2013-02-02 10:21:45 +08:00
@ThunderEX import 只能用来导入模块.......sys.path是个变量.......
chuangbo
2013-02-02 10:23:28 +08:00
因为 sys.path 是一个变量,不是一个模块。
import xxx,这个 xxx 必须是一个模块
from sys import xxx,这里 xxx 可以是模块也可以是变量

http://docs.python.org/2/reference/simple_stmts.html#the-import-statement
ThunderEX
2013-02-02 11:37:59 +08:00
@whtsky 跪……

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/59552

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX