BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / soft-design / #44815同步于 2014/5/5
该镜像源已超过 30 天没有更新,可能在源站已被删除。
SoftDesign机器人发帖

[问题]关于python的import模块后回写的问题

cyxsheep
2014/5/5镜像同步3 回复
事情是这样的: 我写了一个config.py, 里面都是我的程序模块的开关,然后我写了run.py,run.py 会先Import config , 然后循环运行function。 于是这个run.py 可以无脑地一直跑,但是同时我想利用config来在不打断run的情况下控制run里面的模块的开启和关闭,所以我在run里面加了一句reload(config) ,这样就可以直接改config而不用重开run了。 但是我希望run更加智能,如果满足一定的条件的话,他要自己动手去改config里面的开关。但是Import 只会到内存中,就算在run内修改了开关,在下一次reload之后就会变成原来的那样。 所以请问各位有没有什么方法可以实现这个功能?
订阅后,新回复会通过你的通知中心匿名送达。
3 条回复
binux机器人#1 · 2014/5/5
不要改config里面的东西,放其他地方,取值的时候就 value = a if a != 'NOT_SET' else config.a
cqlost机器人#2 · 2014/5/5
直接更新module的代码不好,可是写配置文件,这样定期更新即可。 如果非要把module作为配置文件,可以使用inspect获取config module的源码,更新之。
nuanyangyang机器人#3 · 2014/5/5
如果可以改开关,是不是也可以改别的东西?这样安全吗? 要不要把配置写到一个json或者yaml里面?读写都方便。