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中定时任务线程无法自动退出的问题
Feb 18 Python
详解Python循环作用域与闭包
Mar 21 Python
详解Python3序列赋值、序列解包
May 14 Python
Python实现计算对象的内存大小示例
Jul 10 Python
Django model select的多种用法详解
Jul 16 Python
python创建与遍历List二维列表的方法
Aug 16 Python
如何把外网python虚拟环境迁移到内网
May 18 Python
Python实现Keras搭建神经网络训练分类模型教程
Jun 12 Python
PyQt中使用QtSql连接MySql数据库的方法
Jul 28 Python
关于Python 解决Python3.9 pandas.read_excel(‘xxx.xlsx‘)报错的问题
Nov 28 Python
OpenCV-Python实现人脸磨皮算法
Jun 07 Python
Python探索生命起源 matplotlib细胞自动机动画演示
Apr 21 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
discuz Passport 通行证 整合笔记
2008/06/30 PHP
apache mysql php 源码编译使用方法
2012/05/03 PHP
PHP查找数值数组中不重复最大和最小的10个数的方法
2015/04/20 PHP
详解PHP中array_rand函数的使用方法
2016/09/11 PHP
php获取'/'传参的值简单方法
2017/07/13 PHP
ThinkPHP开发--使用七牛云储存
2017/09/14 PHP
jQuery 无限级菜单的简单实例
2014/02/21 Javascript
angularjs中的e2e测试实例
2014/12/06 Javascript
javascript面向对象快速入门实例
2015/01/13 Javascript
JQuery中Ajax()的data参数类型实例分析
2015/12/15 Javascript
把普通对象转换成json格式的对象的简单实例
2016/07/04 Javascript
AngularJS基础 ng-mousemove 指令简单示例
2016/08/02 Javascript
很酷的星级评分系统原生JS实现
2016/08/25 Javascript
AngularJS实现按钮提示与点击变色效果
2016/09/07 Javascript
nodejs利用http模块实现银行卡所属银行查询和骚扰电话验证示例
2016/12/30 NodeJs
NodeJS学习笔记之Module的简介
2017/03/24 NodeJs
关于TypeScript中import JSON的正确姿势详解
2017/07/25 Javascript
python文件和目录操作方法大全(含实例)
2014/03/12 Python
用Python实现一个简单的能够上传下载的HTTP服务器
2015/05/05 Python
Python根据区号生成手机号码的方法
2015/07/08 Python
Python删除Java源文件中全部注释的实现方法
2017/08/30 Python
python3判断url链接是否为404的方法
2018/08/10 Python
对python中词典的values值的修改或新增KEY详解
2019/01/20 Python
Python批量生成特定尺寸图片及图画任意文字的实例
2019/01/30 Python
OpenCV 表盘指针自动读数的示例代码
2020/04/10 Python
IDLE下Python文件编辑和运行操作
2020/04/25 Python
基于Python实现全自动下载抖音视频
2020/11/06 Python
基于python实现监听Rabbitmq系统日志代码示例
2020/11/28 Python
几个CSS3的flex弹性盒模型布局的简单例子演示
2016/05/12 HTML / CSS
美国单身专业人士在线约会网站:EliteSingles
2019/03/19 全球购物
英语专业推荐信
2013/11/16 职场文书
教师考核评语
2014/04/28 职场文书
学生无故旷课检讨书
2014/09/20 职场文书
2014年“世界无车日”活动方案
2014/09/21 职场文书
员工评语范文
2014/12/31 职场文书
单位实习鉴定评语
2015/01/04 职场文书