Chinaunix首页 | 论坛 | 博客
  • 博客访问: 103380
  • 博文数量: 41
  • 博客积分: 2520
  • 博客等级: 少校
  • 技术积分: 440
  • 用 户 组: 普通用户
  • 注册时间: 2010-01-22 16:25
文章分类

全部博文(41)

文章存档

2010年(41)

我的朋友

分类: LINUX

2010-03-10 10:30:52

Ø       对于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中。

 

Ø            能够做到的另外一种方法是:

a.py:

var = 123

import b

 

b.py:

import a

print "var = %d" % a.var

 

这样看起来是模块的互相导入。嵌套的导入在复杂的情况下会失败,这个要再研究一下导入的顺序。

 

阅读(911) | 评论(0) | 转发(0) |
0

上一篇:xen /dev/agpgart

下一篇:XCP的所在磁盘重分区

给主人留下些什么吧!~~