python获取当前系统的桌面的路径

一,用内置的winreg(推荐)

import winreg
def get_desktop():
    key = winreg.OpenKey(winreg.HKEY_CURRENT_USER,\
                          r'Software\Microsoft\Windows\CurrentVersion\Explorer\ShellFolders',)
    return winreg.QueryValueEx(key, "Desktop")[0]

二,需要win32扩展

import win32api,win32con
def get_desktop():
    key =win32api.RegOpenKey(win32con.HKEY_CURRENT_USER,\
                              r'Software\Microsoft\Windows\CurrentVersion\Explorer\ShellFolders',\
                             0,win32con.KEY_READ)
    return win32api.RegQueryValueEx(key,'Desktop')[0]

三,也需要win32扩展

from win32com.shell import shell, shellcon
def GetDesktopPath():
    ilist =shell.SHGetSpecialFolderLocation(0, shellcon.CSIDL_DESKTOP)
    return shell.SHGetPathFromIDList(ilist)

四,需要内置的os

该方法在用户改变了桌面路径后,会失效

import os
def GetDesktopPath():
    return os.path.join(os.path.expanduser("~"), 'Desktop')

posted @ 2018-01-31 15:05  lcamry  阅读(...)  评论(... 编辑 收藏