例如,我在config
中有一个变量config.py
。我想在config
中使用变量main.py
。 config.py
必须通过命令行传递给main.py
。如下:
python ./main.py ./config.py
我知道lua
我可以使用dofile
功能。如何在Python
答案 0 :(得分:0)
免责声明:我无法发表评论
你能直接在main.py中导入变量吗?
from .config import config
#do stuff
唯一可以想象的其他方法,如果您将该行传递给main.py文件并用手或其他东西解析它:
cat config.py | grep 'config = ' | sed -e 's,config = ,,g' | python main.py
如果config仅在文件中使用一次,并且它所代表的值在=后面,并且你知道它是字符串还是int等,那么这只会起作用。
答案 1 :(得分:0)
# main.py
import sys
import os
if __name__ == "__main__":
var_name = "config"
arg = sys.argv[1]
module_path = os.path.realpath(os.path.dirname(arg))
if module_path not in sys.path:
sys.path.insert(0, module_path)
module_name = os.path.basename(arg).replace(".py", "")
module = __import__(module_name)
config_var = getattr(module, var_name)
# use config_var