Python 获取windows桌面路径的5种方法小结


Posted in Python onJuly 15, 2019

这里介绍了5中python获取window桌面路径的方法,获取这个路径有什么用呢?一般是将程序生成的文档输出到桌面便于查看编辑。

前两个方法是通过注册表来获取当前windows桌面绝对路径,比较推荐使用第一个,因为不需要安装额外的扩展,其他的可以了解下

1.用内置的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")[0]

2.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')[0]

3.也需要win32扩展

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

4.python内置的os库的path模块

这个方法在用户改变了桌面路径后,可能会失效。

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

5.使用socket模块(不推荐)

当然这个方法,是获取当前pc的主机名,一般情况下,windows系统启用第一次开始时会设置一个电脑名,这个电脑名会出现在C盘下的用户目录下,比如我的电脑名是‘jayzhen',那么会有一个目录路径:C:\Users\jayzhen,这时候我的桌面路径就是:C:\Users\jayzhen\Desktop(问题就是如果你随后修改了电脑名,这个方法就不生效了),代码表现的跟第四种很像

import socket, os
def GetDesktopPath()
 hostname = socket.gethostname()  #socket.getfqdn(socket.gethostname()) 
 basepath = os.path.join("C:\Users\",hostname ) 
 return os.path.join(basepath, 'Desktop')

以上这篇Python 获取windows桌面路径的5种方法小结就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
由Python运算π的值深入Python中科学计算的实现
Apr 17 Python
python类装饰器用法实例
Jun 04 Python
使用Python的Bottle框架写一个简单的服务接口的示例
Aug 25 Python
举例讲解Python中的list列表数据结构用法
Mar 12 Python
Python删除Java源文件中全部注释的实现方法
Aug 30 Python
使用matplotlib中scatter方法画散点图
Mar 19 Python
如何安装2019Pycharm最新版本(详细教程)
Sep 26 Python
Python netmiko模块的使用
Feb 14 Python
python 读取二进制 显示图片案例
Apr 24 Python
python怎么调用自己的函数
Jul 01 Python
pycharm 使用anaconda为默认环境的操作
Feb 05 Python
Python 的 sum() Pythonic 的求和方法详细
Oct 16 Python
Python识别快递条形码及Tesseract-OCR使用详解
Jul 15 #Python
Python实现Mysql数据统计及numpy统计函数
Jul 15 #Python
通过python改变图片特定区域的颜色详解
Jul 15 #Python
用Python+OpenCV对比图像质量的几种方法
Jul 15 #Python
python3实现斐波那契数列(4种方法)
Jul 15 #Python
为什么从Python 3.6开始字典有序并效率更高
Jul 15 #Python
django settings.py 配置文件及介绍
Jul 15 #Python
You might like
PHP实现UTF-8文件BOM自动检测与移除实例
2014/11/05 PHP
PHP中filter函数校验数据的方法详解
2015/07/31 PHP
完美利用Yii2微信后台开发的系列总结
2016/07/18 PHP
PHP实现生成模糊图片的方法示例
2017/12/21 PHP
总结PHP内存释放以及垃圾回收
2018/03/29 PHP
javascript 获取select下拉列表值的代码
2009/09/07 Javascript
JavaScript实用技巧(一)
2010/08/16 Javascript
『jQuery』取指定url格式及分割函数应用
2013/04/22 Javascript
onkeypress字符按键兼容所有浏览器使用介绍
2013/04/24 Javascript
jQuery动态创建html元素的常用方法汇总
2014/09/05 Javascript
node.js中的fs.chmod方法使用说明
2014/12/18 Javascript
html的DOM中Event对象onblur事件用法实例
2015/01/21 Javascript
jQuery插件bxSlider实现响应式焦点图
2015/04/12 Javascript
jQuery操作dom实现弹出页面遮罩层(web端和移动端阻止遮罩层的滑动)
2016/08/25 Javascript
手机浏览器 后退按钮强制刷新页面方法总结
2016/10/09 Javascript
vue.js初学入门教程(1)
2016/11/03 Javascript
用jQuery旋转插件jqueryrotate制作转盘抽奖
2017/02/10 Javascript
详解JavaScript中js对象与JSON格式字符串的相互转换
2017/02/14 Javascript
解决vue项目刷新后,导航菜单高亮显示的位置不对问题
2019/11/01 Javascript
jquery实现鼠标悬浮弹出气泡提示框
2020/12/23 jQuery
[48:52]DOTA2上海特级锦标赛A组小组赛#2 Secret VS CDEC第一局
2016/02/25 DOTA
[01:57]2016完美“圣”典风云人物:国士无双专访
2016/12/04 DOTA
浅析Python的Django框架中的Memcached
2015/07/23 Python
python读取excel表格生成erlang数据
2017/08/26 Python
python编程之requests在网络请求中添加cookies参数方法详解
2017/10/25 Python
python读取大文件越来越慢的原因与解决
2019/08/08 Python
Python 文件操作之读取文件(read),文件指针与写入文件(write),文件打开方式示例
2019/09/29 Python
HTML5 canvas基本绘图之绘制五角星
2016/06/27 HTML / CSS
美国山地自行车、露营、户外装备和服装购物网站:Aventuron
2018/05/05 全球购物
全球性的在线商店:Vogca
2019/05/10 全球购物
印度手工编织服装和家居用品商店:Fabindi
2019/10/07 全球购物
介绍一下Linux内核的排队自旋锁
2014/08/27 面试题
幼儿园门卫岗位职责
2014/02/14 职场文书
《值日生》教学反思
2014/02/17 职场文书
革命英雄事迹演讲稿
2014/09/13 职场文书
幼儿园辞职信范文
2015/02/27 职场文书