python namespace
时间:2010-03-10 来源:scorpioyu
Ø 对于perl,我可以在一个文件内使用另外一个文件的变量。比如
a.py:
$var = 123;
require "b.pl"
b.pl:
print "var = $var\n"
如果执行perl a.pl,可以得到var = 123。
Ø 现在我想用python做同样的事情,我试验了一下方法:
a.py:
var = 123
import b
b.py:
print "var = %d" % var
Ø 执行python a.py得到NameError: name 'var' is not defined。我又试验了把var放到一个单独的文件中:
x.py:
var = 0
a.py:
from x import *
var = 123
import b
b.py:
from x import *
print "var = %d" % var
执行python a.py之后得到var = 0,不能得到var = 123。
Ø 正确的方法应该是:
x.py:
var = 0
a.py:
import x
x.var = 123
import b
b.py:
import x
print "var = %d" % x.var
import module vs. from module import
import module:模块只导入一次,访问的是那个唯一的变量。
from module import:将变量导入到局部namespace中。