hcwzwx 发表于 2015-4-26 07:40:58

python获取当前系统的桌面的路径的三种方法

  原先以为获取这个应该不难,翻遍了手册呀文档呀,以为会像os.getcwd()一样简单。
  结果百度呀谷歌呀,用中文搜英文搜,当然有搜到一个英文的不明白也不太喜欢,我放在第三个。
  先讲我自己研究出来的两种方法。我是这样想的,桌面不是可以移到D盘之类吗?
  然后我就搜索怎么修改桌面的保存位置,然后找到是在注册表里修改,
  然后我猜万能的python操作注册表一定是可以的,然后就找到了两种方法来操作注册表
  
  一,用内置的_winreg(推荐)



import _winreg
def get_desktop():
    key = _winreg.OpenKey(_winreg.HKEY_CURRENT_USER,\
                        r'Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders',)
    return _winreg.QueryValueEx(key, "Desktop")
  二,需要win32扩展



import win32api,win32con
def get_desktop():
    key = win32api.RegOpenKey(win32con.HKEY_CURRENT_USER,\
                              r'Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders',\
                              0,win32con.KEY_READ)
    return win32api.RegQueryValueEx(key,'Desktop')
  三,也需要win32扩展,原理不懂



from win32com.shell import shell, shellcon
def GetDesktopPath():
    ilist = shell.SHGetSpecialFolderLocation(0, shellcon.CSIDL_DESKTOP)
    return shell.SHGetPathFromIDList(ilist)
  如果你相信我的话,就选择第一种方法,如果你相信外国人的话,可以选择第三种,
  反正我只信我能理解的。
页: [1]
查看完整版本: python获取当前系统的桌面的路径的三种方法