修正 windows 环境下用户目录的获取方式

This commit is contained in:
AmzGrainRain
2025-05-01 14:37:36 +08:00
parent f8499708c9
commit 3386d8e08e
5 changed files with 41 additions and 5 deletions

View File

@@ -33,7 +33,14 @@ EMOJI = {
def get_user_documents_path():
"""Get user Documents folder path"""
if sys.platform == "win32":
return os.path.join(os.path.expanduser("~"), "Documents")
try:
import winreg
with winreg.OpenKey(winreg.HKEY_CURRENT_USER, "Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Shell Folders") as key:
documents_path, _ = winreg.QueryValueEx(key, "Personal")
return documents_path
except Exception as e:
# fallback
return os.path.join(os.path.expanduser("~"), "Documents")
elif sys.platform == "darwin":
return os.path.join(os.path.expanduser("~"), "Documents")
else: # Linux