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利用装饰器进行运算的实例分析
Aug 04 Python
tensorflow输出权重值和偏差的方法
Feb 10 Python
Python之csv文件从MySQL数据库导入导出的方法
Jun 21 Python
python 读取竖线分隔符的文本方法
Dec 20 Python
Python一行代码实现快速排序的方法
Apr 30 Python
python使用pip安装模块出现ReadTimeoutError: HTTPSConnectionPool的解决方法
Oct 04 Python
OpenCV读取与写入图片的实现
Oct 13 Python
基于OpenCV的路面质量检测的实现
Nov 04 Python
Python制作运行进度条的实现效果(代码运行不无聊)
Feb 24 Python
一行代码python实现文件共享服务器
Apr 22 Python
pytorch中F.avg_pool1d()和F.avg_pool2d()的使用操作
May 22 Python
Python爬虫基础初探selenium
May 31 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
在Windows系统上安装PHP运行环境文字教程
2010/07/19 PHP
ThinkPHP CURD方法之table方法详解
2014/06/18 PHP
PHP中IP地址与整型数字互相转换详解
2014/08/20 PHP
php的sso单点登录实现方法
2015/01/08 PHP
crontab无法执行php的解决方法
2016/01/25 PHP
PHP join()函数用法与实例讲解
2019/03/11 PHP
Flash对联广告的关闭按钮讨论
2007/01/30 Javascript
jquery重新播放css动画所遇问题解决
2013/08/21 Javascript
JQuery中$(document)是什么意思有什么作用
2014/07/21 Javascript
用javascript读取xml文件读取节点数据
2014/08/12 Javascript
javascript面向对象之共享成员属性与方法及prototype关键字用法
2015/01/13 Javascript
JS设置cookie、读取cookie、删除cookie
2015/04/17 Javascript
jquery实现简单Tab切换菜单效果
2020/07/17 Javascript
用Node编写RESTful API接口的示例代码
2018/07/04 Javascript
微信小程序工具函数封装
2019/10/28 Javascript
Vue.js实现大屏数字滚动翻转效果
2019/11/29 Javascript
java遇到微信小程序 "支付验证签名失败" 问题解决
2019/12/22 Javascript
Node.js API详解之 dns模块用法实例分析
2020/05/15 Javascript
[02:25]专访DOTA2负责人Erik 国际邀请赛暂不会离开西雅
2014/07/21 DOTA
[51:34]Ti4主赛事胜者组 DK vs EG 2
2014/07/19 DOTA
Python机器学习算法之k均值聚类(k-means)
2018/02/23 Python
Python3 Post登录并且保存cookie登录其他页面的方法
2018/12/28 Python
python GUI库图形界面开发之PyQt5单行文本框控件QLineEdit详细使用方法与实例
2020/02/27 Python
Django如何继承AbstractUser扩展字段
2020/11/27 Python
HTML5验证以及日期显示的实现详解
2013/07/05 HTML / CSS
小程序canvas中文字设置居中锚点
2019/04/16 HTML / CSS
德国汽车零件和汽车配件网上商店:kfzteile24
2018/11/14 全球购物
2013年高中生自我评价
2013/10/23 职场文书
生产现场工艺工程师岗位职责
2013/11/28 职场文书
禁毒宣传标语
2014/06/19 职场文书
学校感恩教育活动总结
2014/07/07 职场文书
大三学年自我鉴定范文(3篇)
2014/09/28 职场文书
商务考察邀请函模板
2015/02/02 职场文书
2015年五一劳动节慰问信
2015/03/23 职场文书
信息技术远程培训心得体会
2016/01/09 职场文书
求职自我评价参考范文
2019/05/16 职场文书