【发布时间】:2017-06-30 19:15:16
【问题描述】:
我有一个看起来像这样的 python 脚本文件夹...
global_variables.py
main.py
helper_1.py
...
helper_n.py
- main.py 是我运行的脚本。
- helper.py 脚本由 main.py 导入。
- global_variables.py 提供所有 python 脚本都使用的全局变量。
我想像这样将参数传递给 main.py:
user$ python main.py arg1 arg2 ...
其中 args 是 global_variables.py 中的 3-4 个变量(不是全部;其中定义了大约 50 个变量)。如果我没有 helper.py 脚本,我将通过在 main.py 中编写来实现它
import sys
import global_variables
global_variables.var1 = arg1
global_variables.var2 = arg2
...
不幸的是,这些更改不会传播到其他 helper.py 脚本。
解决此问题的最优雅的解决方案是什么?我能做的是不使用全局变量并将所有参数手动传递给每个 python 脚本,但这看起来很可怕,并且考虑到所有脚本放在一起的长度(约 4000 行代码),将带我小时和小时(包括调试时间)。
基本上,我想要什么:
user$ python main.py arg1 arg2 ...
首先更新global_variables.py中的变量,然后然后运行main.py。也许这是可能的?
【问题讨论】:
-
更新内存中的变量不会改变源代码。那会很古怪。
-
所以你是说我最后的建议是不可能的?
-
请向我们展示其中一个有问题的
helper_*.py文件。谢谢;)
标签: python terminal global-variables command-line-arguments