python改变导入模块中的变量的问题
2024-10-19 06:22:01
Python中循环函数1调用函数2,函数2中import了一个模块,函数1:
def run():
for a in b:
runTest(a,patter)
函数2:
def runTest(case_dir, patter):
import TestRunner
discover = unittest.defaultTestLoader.discover(case_dir, pattern=patter)
TestRunner中会有一些变量,变量值会动态变化。但是在函数1循环到第二次及以后时,函数2中import模块的变量值不会改变,导致一些动态配置无效。
误区:runTest方法结束时将TestRunner中的变量置为None是无效的,只会在下一次找不到那个变量。
解决方法:
导入模块后使用reload方法重新导入。有人想问这不是多次一举么?
非也非也,下次循环导入时发现模块已存在,就不会再导入,变量也不会有任何变化,重新导入会重新初始化,这样子就把问题解决了。
def runTest(case_dir, patter):
import TestRunner
reload(TestRunner)
最新文章
- Android常见控件— — —ProgressDialog
- bzoj3489 A simple rmq problem 可持久化树套树
- python学习--抓取一个网页上图片
- QLabel
- mysql命令具体解释
- 在共享DLL中使用MFC 和在静态库中使用MFC的区别
- hibernate报错
- [Android 性能优化系列]降低你的界面布局层次结构的一部分
- 在win7/8/10鼠标右键添加带管理员权限的“在此处打开命令窗口”
- 每天一个Linux命令(08)--cp命令
- 算法模板——线段树6(二维线段树:区域加法+区域求和)(求助phile)
- Redis Rpop 命令
- preventDefault()、stopPropagation()、return false 的区别
- 20165306 Exp2 后门原理与实践
- yml使用
- MongoDB - 1
- Oracle_PL/SQL(2) 过程控制
- PAT甲题题解-1019. General Palindromic Number (20)-又是水题一枚
- 在jsp里面不要瞎用<;!-- -->;注释
- 20145118 《Java程序设计》 第3周学习总结
热门文章
- Web Service-第一篇什么是Web Service
- Android超简单气泡效果
- POJ 2528 Mayor&#39;s posters(线段树,区间覆盖,单点查询)
- E	Easy problem
- 在vue中运用mt-loadmore 实现上拉加载,下拉刷新(完整源码)
- c#模板化生成接口
- 20191101php日期练习
- 【新手向】一个超简单的jquery.mCustomScrollbar滚动条插件Demo
- Redis5.0集群搭建实战
- ";==";、equals、hashCode之间的区别