大家好,小弟写程式遇到一个问题,程式执行逻辑大概是这样
有三支程式为A.py、B.py、C.py
A和C是我写的程式,B的部分是别人写的
B基本上因为程式已经太大,几乎无法更动,牵一发动全身
所以不考虑从B这支程式修改。
至于A这个程式,执行时会去读取一个叫做config.json的设定档
之后透过Thread执行B、B会去扫描某个资料夹下的所有Python档案去执行
我的C档案就是放在B会扫描的资料夹下,所以B会去执行我的C程式
问题是这样的,我A这支程式读取的config.json,希望能够让C也能使用这些设定
目前我的做法是让C再读取一次config.json
但因为A有可能在短时间内呼叫上百次B,B每次执行就呼叫一次C
C就疯狂的去读取config.json,担心会效能或其他问题
我希望是直接透过A读取好给C、但因为B扫描执行并不会带参数给C
所以不知道怎么直接把设定丢给C
网络上我找到几种方式像是mmap,但这看起来好像也是用档案当作交换
还有pickle但这也是用档案交换跟直接用C去读档没有两样
也有试过globals设定变量,从C.py用inspect抓,但总是抓不到
试过很多种方法都无功而返,想请问各位大大有没有好方法呢,谢谢!