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爬虫之cookie使用方法
Feb 17 Python
小议Python中自定义函数的可变参数的使用及注意点
Jun 21 Python
python通过opencv实现批量剪切图片
Nov 13 Python
python实现淘宝秒杀聚划算抢购自动提醒源码
Jun 23 Python
Python基于递归算法求最小公倍数和最大公约数示例
Jul 27 Python
pytorch:torch.mm()和torch.matmul()的使用
Dec 27 Python
Pytorch使用MNIST数据集实现CGAN和生成指定的数字方式
Jan 10 Python
Python 实现判断图片格式并转换,将转换的图像存到生成的文件夹中
Jan 13 Python
pytorch dataloader 取batch_size时候出现bug的解决方式
Feb 20 Python
Python如何在bool函数中取值
Sep 21 Python
pandas DataFrame.shift()函数的具体使用
May 24 Python
python解析json数据
Apr 29 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 生成唯一id的几种解决方法
2013/03/08 PHP
如何使用php判断所处服务器操作系统的类型
2013/06/20 PHP
在html文件中也可以执行php语句的方法
2015/04/09 PHP
php采集中国代理服务器网的方法
2015/06/16 PHP
PHP基于socket实现客户端和服务端通讯功能
2017/07/13 PHP
PHP实现mysqli批量执行多条语句的方法示例
2017/07/22 PHP
JavaScript语句可以不以;结尾的烦恼
2007/03/08 Javascript
JavaScript入门教程(12) js对象化编程
2009/01/31 Javascript
javaScript让文本框内的最后一个文字的后面获得焦点实现代码
2013/01/06 Javascript
js 时间函数应用加、减、比较、格式转换的示例代码
2013/08/23 Javascript
原始XMLHttpRequest方法详情回顾
2013/11/28 Javascript
javascript实现十六进制颜色值(HEX)和RGB格式相互转换
2014/06/20 Javascript
jQuery中trigger()与bind()用法分析
2015/12/18 Javascript
深入理解jquery自定义动画animate()
2016/05/24 Javascript
jquery的ajax提交form表单的两种方法小结(推荐)
2016/05/25 Javascript
AngularJS延迟加载html template
2016/07/27 Javascript
chrome下判断点击input上标签还是其余标签的实现方法
2016/09/18 Javascript
jQuery实现遮罩层登录对话框
2016/12/29 Javascript
jquery图片放大镜效果
2017/06/23 jQuery
JavaScript数据结构之双向链表定义与使用方法示例
2017/10/27 Javascript
Vue.js实现列表清单的操作方法
2017/11/15 Javascript
angularjs 获取默认选中的单选按钮的value方法
2018/02/28 Javascript
axios全局注册,设置token,以及全局设置url请求网段的方法
2018/09/25 Javascript
Vue源码解析之Template转化为AST的实现方法
2018/12/14 Javascript
javascript中innerHTML 获取或替换html内容的实现代码
2020/03/17 Javascript
python使用pil生成缩略图的方法
2015/03/26 Python
Python字符串和字典相关操作的实例详解
2017/09/23 Python
Python引用类型和值类型的区别与使用解析
2017/10/17 Python
详解python做UI界面的方法
2019/02/27 Python
python3.7 利用函数os pandas利用excel对文件名进行归类
2019/09/29 Python
某公司.Net方向面试题
2014/04/24 面试题
面试求职的个人自我评价
2013/11/16 职场文书
教师开学感言
2014/02/14 职场文书
信用卡逾期证明示例
2014/09/13 职场文书
营销策划分析:怎么策划才能更好销量产品?
2019/09/04 职场文书
python scipy 稀疏矩阵的使用说明
2021/05/26 Python