python程序在执行的时候源文件被修改对正在执行的程序有影响吗?
程序员文章站
2022-05-04 08:29:03
...
我的python程序每一次需要比较长的时间才能跑完,但是有些时候我不想等到程序完成之后才去修改参数,可不可以在程序正在执行的时候修改源代码,然后再执行新的程序?不知道这样做可行不。
回复内容:
有影响,但很微小。
正在运行的程序本身不会受到影响,因为运行前已经自动编译到python字节码,并且在内存里运行了。除非你在程序里调用reload()来重新载入程序,否则不会影响运行。
但是,如果程序出现错误,抛出异常,则立即从当前的我python源文件读取并显示出错行。所以异常栈显示的是运行中程序出错行号,以及当前最新版本源码。看起来有点分裂罢了。
你应该用命令行参数,而不是修改程序……
那你的参数为什么要放在主py文件中?
你不能另外写一个文件来放你的参数么?
定期的检查这个参数文件(比如ini,csv,json)
然后改变程序执行的策略。
另写个脚本把正常的运行改成先复制一份再运行,
能不能用多线程的方式改变参数?不是很懂。
对这次和以后的运行来讲,不会。
想起来看过@Kyon N很有趣的一个回答,http://zhihu.com/question/39837216/answer/83451305