import os import platform import winreg def get_qgis_install_dir(): # 尝试从环境变量获取 qgis_env = os.getenv('QGIS_PREFIX_PATH') if qgis_env: return f'{qgis_env.replace("apps/qgis-ltr","")}bin' # 尝试从Windows注册表获取 if platform.system() == "Windows": sub_key = winreg.OpenKey(winreg.HKEY_CURRENT_USER, r'Software\QGIS') try: qgis_dir, _ = winreg.QueryValueEx(sub_key, 'QGIS_PREFIX_PATH') return qgis_dir except WindowsError: pass # 常见的安装路径 default_paths = [ os.path.join(os.path.expanduser('~'), 'AppData\Local\QGIS\QGIS3'), r'C:\Program Files\QGIS 3.X', r'C:\Program Files (x86)\QGIS 3.X', ] for path in default_paths: if os.path.exists(path): return path return None # 使用函数 qgis_dir = get_qgis_install_dir() print(f"QGIS Install Directory: {qgis_dir}")