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 del()函数用法
Mar 24 Python
Python 包含汉字的文件读写之每行末尾加上特定字符
Dec 12 Python
python+opencv实现动态物体识别
Jan 09 Python
对python中的 os.mkdir和os.mkdirs详解
Oct 16 Python
Python列表list排列组合操作示例
Dec 18 Python
ITK 实现多张图像转成单个nii.gz或mha文件案例
Jul 01 Python
Python单元测试及unittest框架用法实例解析
Jul 09 Python
Python Flask异步发送邮件实现方法解析
Aug 01 Python
Python爬虫如何破解JS加密的Cookie
Nov 19 Python
python实现图片转字符画
Feb 19 Python
Python 图片处理库exifread详解
Feb 25 Python
浅谈Python3中datetime不同时区转换介绍与踩坑
Aug 02 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模板函数 正则实现代码
2012/10/15 PHP
解析php做推送服务端实现ios消息推送
2013/07/01 PHP
浅谈javascript 面向对象编程
2009/10/28 Javascript
ASP中进行HTML数据及JS数据编码函数
2009/11/11 Javascript
Ext grid 添加右击菜单
2009/11/26 Javascript
js 数组克隆方法 小结
2010/03/20 Javascript
jQuery动态设置form表单的enctype值(实现代码)
2013/07/04 Javascript
js关闭浏览器窗口及检查浏览器关闭事件
2013/09/03 Javascript
jQuery实现表单提交时判断的方法
2014/12/13 Javascript
jQuery寻找n以内完全数的方法
2015/06/24 Javascript
微信小程序 wxapp地图 map详解
2016/10/31 Javascript
JAVA Web实时消息后台服务器推送技术---GoEasy
2016/11/04 Javascript
基于JS实现翻书效果的页面切换样式
2017/02/16 Javascript
详解vue-cli 构建项目 vue-cli请求后台接口 vue-cli使用axios、sass、swiper
2018/05/28 Javascript
JavaScript实现图片轮播特效
2019/10/23 Javascript
原生js实现表格翻页和跳转
2020/09/29 Javascript
Python命令启动Web服务器实例详解
2017/02/23 Python
Python实现桶排序与快速排序算法结合应用示例
2017/11/22 Python
python遍历文件夹,指定遍历深度与忽略目录的方法
2018/07/11 Python
python生成lmdb格式的文件实例
2018/11/08 Python
Python中字符串List按照长度排序
2019/07/01 Python
django基于存储在前端的token用户认证解析
2019/08/06 Python
Python3 pandas 操作列表实例详解
2019/09/23 Python
python将字母转化为数字实例方法
2019/10/04 Python
numpy中三维数组中加入元素后的位置详解
2019/11/28 Python
在notepad++中实现直接运行python代码
2019/12/18 Python
python3实现往mysql中插入datetime类型的数据
2020/03/02 Python
Python爬虫:Request Payload和Form Data的简单区别说明
2020/04/30 Python
Python模拟键盘输入自动登录TGP
2020/11/27 Python
宏碁西班牙官网:Acer西班牙
2021/01/08 全球购物
大学总结自我鉴定
2014/01/18 职场文书
青安岗事迹材料
2014/05/14 职场文书
幼儿园教师节演讲稿
2014/09/03 职场文书
2014年发展党员工作总结
2014/11/12 职场文书
2014年体育教学工作总结
2014/12/09 职场文书
关于MybatisPlus配置双数据库驱动连接数据库问题
2022/01/22 Java/Android