http://markmail.org/message/wdneu2oyzmgl7ynf
2008/5/24 liz <shen…@gmail.com>
大家好~
现想实现以下功能: 1、使用字符串指代变量名。 比如说,有两个变量 a="bbb"和bbb={"c":1},引用a如何得到{"c":1},也就是a的值'bbb'所代表的变量bbb的值。 google了下,查到http://www.douban.com/group/topic/2193745/上的以下四种方式能够将字符串转作变量,分别是: exec('abc = 5') globals()['abc'] = 6 setattr(__builtins__, 'abc', 9) __import__('sys')._getframe(0).f_globals['abc'] = 27 四种都可以实现,那么,对于引用a如何得到{"c":1},则应该是:
a='bbb' bbb={"c":1} exec('a=%s' % a) a
{"c": 1} 即可实现。有没其他方法了?
globals()[a]
另外,若想把exec的字符串'a=%s' % a中的a动态改变,而不是指定a,那岂不要先获得变量a的名字。就是第2个问题。
2、从变量名获得其字符串 比如说,变量a='bbb',一般引用a后结果是a的值'bbb',那我该如何得到a的名字字符串'a'? 有没必要?
没必要。 在程序中如何得到一个变量的变量名字符串? 似乎没什么好办法(也许是没必要)。 不过python号称一切皆对象,那么变量的所有属性,包括变量名都应该可以获取才对啊。 不知哪位有什么好办法?
谢谢!
– blog : http://www.leefurong.cn photo:http://picasaweb.google.com/leefurong Cell phone: +86 13651506196
![Windows 7 硬盘安装Fedora 16[zt]](http://www.linuxidc.com/upload/2011_12/111205133058281.gif)

![python multicast [组播编程]](http://www.linux-field.com/wp-content/themes/HotNewspro/images/random/17.jpg)

最新评论
Nice site
上面的几个回复都来自该地址:
logging模块的4个主要
Example Usage
Configuring Lo
Formatters Fo
Python的标准loggi