config.py 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. from dotenv import load_dotenv
  2. import os
  3. import sys
  4. class Config:
  5. def __init__(self):
  6. # 获取应用程序的根目录路径
  7. if getattr(sys, "frozen", False):
  8. # 如果是打包后的可执行文件
  9. application_path = os.path.dirname(sys.executable)
  10. else:
  11. # 如果是开发环境
  12. application_path = os.path.dirname(os.path.abspath(__file__))
  13. # 指定 .env 文件的路径
  14. dotenv_path = os.path.join(application_path, ".env")
  15. if not os.path.exists(dotenv_path):
  16. raise FileNotFoundError(f"文件 {dotenv_path} 不存在")
  17. # 加载 .env 文件
  18. load_dotenv(dotenv_path)
  19. def get_temp_mail(self):
  20. return os.getenv("TEMP_MAIL")
  21. def get_domain(self):
  22. return os.getenv("DOMAIN")
  23. # 使用示例
  24. if __name__ == "__main__":
  25. try:
  26. config = Config()
  27. print("环境变量加载成功!")
  28. print(f"临时邮箱: {config.get_temp_mail()}")
  29. print(f"域名: {config.get_domain()}")
  30. except ValueError as e:
  31. print(f"错误: {e}")