qgis.py 953 B

1234567891011121314151617181920212223242526272829303132
  1. import os
  2. import platform
  3. import winreg
  4. def get_qgis_install_dir():
  5. # 尝试从环境变量获取
  6. qgis_env = os.getenv('QGIS_PREFIX_PATH')
  7. if qgis_env:
  8. return f'{qgis_env.replace("apps/qgis-ltr","")}bin'
  9. # 尝试从Windows注册表获取
  10. if platform.system() == "Windows":
  11. sub_key = winreg.OpenKey(winreg.HKEY_CURRENT_USER, r'Software\QGIS')
  12. try:
  13. qgis_dir, _ = winreg.QueryValueEx(sub_key, 'QGIS_PREFIX_PATH')
  14. return qgis_dir
  15. except WindowsError:
  16. pass
  17. # 常见的安装路径
  18. default_paths = [
  19. os.path.join(os.path.expanduser('~'), 'AppData\Local\QGIS\QGIS3'),
  20. r'C:\Program Files\QGIS 3.X',
  21. r'C:\Program Files (x86)\QGIS 3.X',
  22. ]
  23. for path in default_paths:
  24. if os.path.exists(path):
  25. return path
  26. return None
  27. # 使用函数
  28. qgis_dir = get_qgis_install_dir()
  29. print(f"QGIS Install Directory: {qgis_dir}")