欢迎光临
我们一直在努力

python 基础

1  全局变量globals()的使用

通过globals()获取 当前 所有全局变量、

import sys
def foo():
    print('haha')

class c(object):
    pass

x = 1
print(globals())

输出

{‘c’: <class ‘__main__.c’>, ‘__builtins__’: <module ‘__builtin__’ (built-in)>, ‘__file__’: ‘/Users/w/pyprojects/tmptest/basic/b1.py’, ‘__package__’: None, ‘sys’: <module ‘sys’ (built-in)>, ‘x’: 1, ‘__name__’: ‘__main__’, ‘foo’: <function foo at 0x10bee7668>, ‘__doc__’: None}

如上,可以看到模块中定义的foo和c都在globals中。

然后可以通过globals()[‘foo’]和globals()[‘c’]分别获取 对应的函数 和类。

2 获取当前模块 sys.modules[‘__main__’]

g = sys.modules['__main__']
print(type(g))

输出 <type ‘module’>

然后可以通过

cc = getattr(g, 'c')
print(cc)

cf = getattr(g, 'foo')
print(cf)

分别获取对应的类和函数

3 系统环境变量 os.environ.__dict__

类型为字典

然后可以通过

x = os.environ.__dict__

x[‘data’][‘HOME’]来获取当前家路径, 以及其他系统环境变量

赞(0) 打赏
未经允许不得转载:乌西塔 » python 基础

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

觉得文章有用就打赏一下文章作者

微信扫一扫打赏