| 1234567891011121314151617181920212223242526272829303132333435363738394041 |
- """环境变量读取(bool / int / float / str),避免各模块重复 ``.lower() in (...)`` 等逻辑。"""
- from __future__ import annotations
- import os
- __all__ = ["env_bool", "env_float", "env_int", "env_str"]
- def env_str(name: str, default: str) -> str:
- v = os.getenv(name)
- if v is None or not str(v).strip():
- return default
- return str(v).strip()
- def env_bool(name: str, default: bool) -> bool:
- v = os.getenv(name)
- if v is None:
- return default
- return v.lower() in ("1", "true", "yes")
- def env_int(name: str, default: int) -> int:
- v = os.getenv(name)
- if v is None or not str(v).strip():
- return default
- try:
- return int(v.strip())
- except ValueError:
- return default
- def env_float(name: str, default: float) -> float:
- v = os.getenv(name)
- if v is None or not str(v).strip():
- return default
- try:
- return float(v.strip())
- except ValueError:
- return default
|