Python 为什么';t我的代码打印'os.path`

Python 为什么';t我的代码打印'os.path`,python,import,module,Python,Import,Module,守则: def a(x): if x=='s': __import__('os') #I think __import__ == import print os.path 为什么不打印操作系统路径 我的下一个问题是:为什么下面的代码使用\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu \uuuu导入\uuuu返回一个

守则:

def a(x):
    if x=='s':
        __import__('os') #I think __import__ == import
        print os.path
为什么不打印操作系统路径


我的下一个问题是:为什么下面的代码使用
\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu


\uuuu导入\uuuu
返回一个模块。它实际上没有向当前名称空间添加任何内容

您可能只想使用
导入操作系统

def a(x):
    if x=='s':
        import os
        print os.path
a('s')
或者,如果要将模块作为字符串导入,可以显式分配:

def a(x):
    if x=='s':
        os = __import__('os')
        print os.path
a('s')

\uuuu导入\uuuu
返回一个模块。它实际上没有向当前名称空间添加任何内容

您可能只想使用
导入操作系统

def a(x):
    if x=='s':
        import os
        print os.path
a('s')
或者,如果要将模块作为字符串导入,可以显式分配:

def a(x):
    if x=='s':
        os = __import__('os')
        print os.path
a('s')

@statictype.org的答案是正确的(
\uuuuuu import\uuuuuu
不绑定本地名称空间中的任何名称),但您为什么要打印
或根据您的平台打印同样奇怪的东西?!这就是
print os.path
在修复错误后将要做的--你想通过它实现什么

您确定不想要完全不同的东西,例如
print os.environ['PATH']
print os.getcwd()

编辑:回答OP的以下问题:

__import__(name)#why it do this
return sys.modules[name]
\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu;这比

return __import__(name)
如果
name
包含一个或多个
s(点):。例如:

return __import__('foo.bar')
相当于

__import__('foo.bar')
return sys.modules['foo']
不像人们想象的那样

__import__('foo.bar')
return sys.modules['foo.bar']

@statictype.org的答案是正确的(
\uuuuuu import\uuuuuu
不绑定本地名称空间中的任何名称),但您为什么要打印
或根据您的平台打印同样奇怪的东西?!这就是
print os.path
在修复错误后将要做的--你想通过它实现什么

您确定不想要完全不同的东西,例如
print os.environ['PATH']
print os.getcwd()

编辑:回答OP的以下问题:

__import__(name)#why it do this
return sys.modules[name]
\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu;这比

return __import__(name)
如果
name
包含一个或多个
s(点):。例如:

return __import__('foo.bar')
相当于

__import__('foo.bar')
return sys.modules['foo']
不像人们想象的那样

__import__('foo.bar')
return sys.modules['foo.bar']

为什么你试图使用导入?在文件顶部使用导入操作系统有什么问题吗?为什么你试图使用导入?在文件顶部使用导入操作系统有什么问题吗?嗨,alex,我已经更新了示例,请帮我看看,所以,“导入”必须是不同的名称,因为“导入”无法区分“a.txt”、“a.py”或“a.rar”,是吗?谢谢
\uuu导入
导入Python模块,所以
.py
(或
.pyd
[[on Win;
.so
在Linux上]]或直接导入
.pyc
,如果存在并已更新的话),永远不会导入
.txt
.hi alex,我已经更新了示例,请帮我看一看,'import'必须是不同的名称,因为'import'不能区分'a.txt','a.py'或'a.rar',是吗?,谢谢
\uuu import\uuuuu
导入Python模块,所以a
.py
(或a
.pyd
[[on Win;
.so
在Linux上]],或直接使用
.pyc
,如果已存在并已更新),从不使用
.txt
.rar
.hi@statictype.org,我已更新了示例,请帮助我查看hi@statictype.org,我已更新了示例,请帮助我查看