python - 如果不在配置文件中,Python ConfigParser 使用默认值
问题描述
如果未在配置文件中定义默认值,那么使用默认值的最佳方法是什么?例如在下面的示例中,可能仅listen_address
在配置中定义,并且listen_port
不存在。
我正在尝试这样的事情:
import ConfigParser
from os.path import isfile
if __name__ == "__main__":
# Set default values
listen_address = '127.0.0.1'
listen_port = 8000
# Check for configurations from file and override defaults
configFile = './configuration.ini'
if isfile(configFile):
configs = ConfigParser.ConfigParser()
configs.read(configFile)
try:
listen_address = configs.get('ServerConfigs', 'listen_address')
except:
pass
try:
listen_port = configs.get('ServerConfigs', 'listen_port')
except:
pass
但这感觉很丑。
解决方案
如果找不到选项,您可以使用此处找到的内置回退参数:
listen_address = configs.get('ServerConfigs', 'listen_address', fallback='127.0.0.1')
推荐阅读
- python - Django - 创建旅行协作应用程序模型的方向是否正确?
- php - 在 WooCommerce 中显示/隐藏各种产品类别的付款方式
- amazon-web-services - 对于在 AWS API Gateway 上运行的中间件,HttpContext.Request 为空
- c++ - 如何从 AllSensors_DLHR 库修改 ReadSensor.ino 以利用不同的传感器
- python - 将 timedelta 转换为普通时间(Pandas Python)
- php - PHP在不规则的json文件中查找JSON节点值
- android - ImageView 未显示 PDFRenderer 在 Android API 29 上创建的位图中的图像
- f# - 如何找到要显式引用的程序集的正确版本
- r - deparse() 的更快替代方案
- r - 基于另一个数据帧中的值的数据帧子集