You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
43 lines
1.4 KiB
43 lines
1.4 KiB
import os
|
|
import sys
|
|
import winreg
|
|
from pathlib import Path
|
|
|
|
def get_config_path():
|
|
if sys.platform == 'win32':
|
|
# 展开环境变量并转换为标准格式
|
|
download_dir = Path(os.path.expandvars("%appdata%/fst")).resolve()
|
|
else:
|
|
# 对于非 Windows 系统,使用 ~\Downloads 作为默认下载目录
|
|
home_dir = Path.home()
|
|
download_dir = home_dir / 'fst'
|
|
dir_path = Path(download_dir)
|
|
if not dir_path.exists():
|
|
dir_path.mkdir(parents=True, exist_ok=True)
|
|
return str(download_dir)
|
|
|
|
def get_download_directory():
|
|
if sys.platform == 'win32':
|
|
# 打开注册表项
|
|
key = winreg.OpenKey(winreg.HKEY_CURRENT_USER,
|
|
r'Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders')
|
|
|
|
try:
|
|
# 读取 "Downloads" 路径
|
|
download_dir, _ = winreg.QueryValueEx(key, '{374DE290-123F-4565-9164-39C4925E467B}')
|
|
|
|
# 展开环境变量并转换为标准格式
|
|
download_dir = Path(os.path.expandvars(download_dir)).resolve()
|
|
|
|
finally:
|
|
# 关闭注册表项
|
|
winreg.CloseKey(key)
|
|
else:
|
|
# 对于非 Windows 系统,使用 ~\Downloads 作为默认下载目录
|
|
home_dir = Path.home()
|
|
download_dir = home_dir / 'Downloads'
|
|
dir_path = Path(download_dir)
|
|
if not dir_path.exists():
|
|
dir_path.mkdir(parents=True, exist_ok=True)
|
|
return str(download_dir)
|