首页 > 编程语言 > 详细

python3使用exec来动态加载模块

时间:2019-08-24 14:29:29      阅读:292      评论:0      收藏:0      [点我收藏+]

xxglsvr.py

import sys

# locals() 函数来得到一个局部变量字典。
# 之后你就能从局部字典中获取修改过后的变量值了
def main(procName):
  loc = locals()
  exec("from %s import call_sub" % procName)
  call_sub = loc[‘call_sub‘]
  call_sub("private " + procName)

if __name__ == ‘__main__‘:
  # 在全局变量中不用定义 locals()
  procName = "xxglsvr01"
  exec("from %s import call_sub" % procName)
  call_sub("public " + procName)

  main("xxglsvr01")
  main("xxglsvr02")

---------------------------------------------------------------------------

xxglsvr01.py

import sys

def call_sub(params):
  print("call xxglsvr01(%s)" % params)

---------------------------------------------------------------------------

xxglsvr02.py

import sys

def call_sub(params):
  print("call xxglsvr02(%s)" % params)

python3使用exec来动态加载模块

原文:https://www.cnblogs.com/zsfishman/p/11404305.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!