【发布时间】:2021-05-14 18:34:20
【问题描述】:
我有一个应用程序,目前它已设置为脚本之一 config.py 从 config.yaml 配置文件中读取数据并设置了一些默认值。到目前为止,这很好用,因为所有内容都在一个地方定义。
我现在想从 CLI 传递应用程序参数。我将如何做到这一点,以便我也可以替换 config.py 中的参数?我可能会以次优方式构建应用程序,因此感谢您提供任何反馈。
我在这里看到了一篇关于此的大量帖子:Most Pythonic way to provide global configuration variables in config.py?
我目前正在遵循提到的最简单的“常规”方法,即:
config.py
MYSQL_PORT = 3306
MYSQL_DATABASE = 'mydb'
MYSQL_DATABASE_TABLES = ['tb_users', 'tb_groups']
因此,全局变量通过以下方式之一导入:
另一个脚本.py
from config import MYSQL_PORT
我能否将配置中的所有内容封装在一个对象或类中,而无需更改从 config.py 导入的所有代码。
【问题讨论】:
标签: python command-line-interface argparse python-module