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 logging模块学习笔记
May 24 Python
python实现获取序列中最小的几个元素
Sep 25 Python
python Django批量导入数据
Mar 25 Python
利用TensorFlow训练简单的二分类神经网络模型的方法
Mar 05 Python
Python数据分析库pandas基本操作方法
Apr 08 Python
在pandas多重索引multiIndex中选定指定索引的行方法
Nov 16 Python
Pyinstaller打包.py生成.exe的方法和报错总结
Apr 02 Python
Python将文字转成语音并读出来的实例详解
Jul 15 Python
python flask几分钟实现web服务的例子
Jul 26 Python
python交互模式基础知识点学习
Jun 18 Python
Python爬虫基础讲解之请求
May 13 Python
Python打包为exe详细教程
May 18 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实现倒计时效果
2015/12/19 PHP
PHP实现网页内容html标签补全和过滤的方法小结【2种方法】
2017/04/27 PHP
Laravel框架实现model层的增删改查(CURD)操作示例
2018/05/12 PHP
laravel 输出最后执行sql 附:whereIn的使用方法
2019/10/10 PHP
Visual Studio中的jQuery智能提示设置方法
2010/03/27 Javascript
动态添加option及createElement使用示例
2014/01/26 Javascript
JavaScript eval() 函数介绍及应用示例
2014/07/29 Javascript
jQuery针对各类元素操作基础教程
2014/08/29 Javascript
Javascript简单实现面向对象编程继承实例代码
2015/11/27 Javascript
Ext JS框架中日期函数的用法及日期选择控件的实现
2016/05/21 Javascript
JS实现物体带缓冲的间歇运动效果示例
2016/12/22 Javascript
Vue.js -- 过滤器使用总结
2017/02/18 Javascript
bootstrap轮播图示例代码分享
2017/05/17 Javascript
Angular.JS中的this指向详解
2017/05/17 Javascript
Vue.js 实现微信公众号菜单编辑器功能(二)
2018/05/08 Javascript
Webpack中雪碧图插件使用详解
2018/05/25 Javascript
ES6 fetch函数与后台交互实现
2018/11/14 Javascript
ES6中的迭代器、Generator函数及Generator函数的异步操作方法
2019/05/12 Javascript
解决vue中使用less/sass及使用中遇到无效的问题
2020/10/24 Javascript
[02:25]DOTA2英雄基础教程 虚空假面
2014/01/02 DOTA
python统计多维数组的行数和列数实例
2018/06/23 Python
python实现AES加密和解密
2019/03/27 Python
python3.5 cv2 获取视频特定帧生成jpg图片
2019/08/28 Python
Matplotlib绘制雷达图和三维图的示例代码
2020/01/07 Python
详解Python实现进度条的4种方式
2020/01/15 Python
python传到前端的数据,双引号被转义的问题
2020/04/03 Python
浅谈Python xlwings 读取Excel文件的正确姿势
2021/02/26 Python
利用HTML5的新特点实现图片文件异步上传
2014/05/29 HTML / CSS
英国在线自行车店:Merlin Cycles
2018/08/20 全球购物
猫咪家具:CatsPlay
2018/11/03 全球购物
Pamela Love官网:纽约设计师Pamela Love的精美、时尚和穿孔珠宝
2020/10/19 全球购物
经典演讲稿范文
2013/12/30 职场文书
交通事故赔偿协议书
2014/04/15 职场文书
供货协议书
2014/04/22 职场文书
汽车销售员岗位职责
2015/04/11 职场文书
2015年妇委会工作总结
2015/05/22 职场文书