python模块runpy

http://www.python.org/dev/peps/pep-0366/

http://www.python.org/dev/peps/pep-0338/

The runpy module is used to locate and run Python modules without importing them first. Its main use is to implement the -m command line switch that allows scripts to be located using the Python module namespace rather than the filesystem.

runpy模块用于:在不import python模块时,定位并执行该模块。主要用途在于实现命令行-m执行python 模块得效果,但是是在脚本中而不是文件系统上。

runpy一个就两个函数:

runpy.run_module(mod_nameinit_globals=Nonerun_name=Nonealter_sys=False)

运行指定模块代码并返回模块得全局字典。

例子:

import runpy
from pprint import pprint

ttt = runpy.run_module('classproperty',  alter_sys=True)
pprint(ttt)

runpy.run_path(file_pathinit_globals=Nonerun_name=None)

执行指定脚本文件并返回模块全局字典。

例子:

首先写一个脚本

$ cat a.py 
print 'iiiiiiiiiiiiinnnnnnnnnnnnnn a %s'%bb

print __name__
print __file__
print __loader__
print __package__

if __name__ == '__main__':
    print 'in __main__'
然后

import runpy
from pprint import pprint

bb = 'uuu'
ggg = runpy.run_path('a.py', init_globals={'bb':bb}, run_name='__main__')

print '====================='
pprint( ggg)

init_globals是传给运行module(文件)的字典,有四个全局变量是一定会传过去得:__name____file____loader__ and __package__

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值