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对文件操作知识汇总
May 15 Python
python中如何使用正则表达式的非贪婪模式示例
Oct 09 Python
浅谈pandas中DataFrame关于显示值省略的解决方法
Apr 08 Python
python执行系统命令后获取返回值的几种方式集合
May 12 Python
python批量查询、汉字去重处理CSV文件
May 31 Python
对Python发送带header的http请求方法详解
Jan 02 Python
python 图片二值化处理(处理后为纯黑白的图片)
Nov 01 Python
Python模拟登录之滑块验证码的破解(实例代码)
Nov 18 Python
基于Python执行dos命令并获取输出的结果
Dec 30 Python
如何定义TensorFlow输入节点
Jan 23 Python
Python日期格式和字符串格式相互转换的方法
Feb 18 Python
Python实现对齐打印 format函数的用法
Apr 28 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 $_ENV为空的原因分析
2009/06/01 PHP
php获取目标函数执行时间示例
2014/03/04 PHP
PHP session 会话处理函数
2016/06/06 PHP
jQuery 美元符冲突的解决方法
2010/03/28 Javascript
从零开始学习jQuery (四) jQuery中操作元素的属性与样式
2011/02/23 Javascript
Chosen 基于jquery的选择框插件使用方法
2012/05/30 Javascript
css结合js制作下拉菜单示例代码
2014/02/27 Javascript
Javascript判断文件是否存在(客户端/服务器端)
2014/09/16 Javascript
jQuery 中$(this).index与$.each的使用指南
2014/11/20 Javascript
在JavaScript的jQuery库中操作AJAX的方法讲解
2015/08/15 Javascript
bootstrap读书笔记之CSS组件(上)
2016/10/17 Javascript
jquery配合.NET实现点击指定绑定数据并且能够一键下载
2016/10/28 Javascript
jQuery实现radio第一次点击选中第二次点击取消功能
2017/05/15 jQuery
vue2中filter()的实现代码
2017/07/09 Javascript
javascript帧动画(实例讲解)
2017/09/02 Javascript
python多重继承新算法C3介绍
2014/09/28 Python
python 随机打乱 图片和对应的标签方法
2018/12/14 Python
python GUI库图形界面开发之PyQt5滚动条控件QScrollBar详细使用方法与实例
2020/03/06 Python
Django实现将一个字典传到前端显示出来
2020/04/03 Python
Python3爬虫关于代理池的维护详解
2020/07/30 Python
最新Python idle下载、安装与使用教程图文详解
2020/11/28 Python
python 基于opencv实现高斯平滑
2020/12/18 Python
python实现简单文件读写函数
2021/02/25 Python
CSS3弹性布局内容对齐(justify-content)属性使用详解
2017/07/31 HTML / CSS
CSS3的transition和animation的用法实例介绍
2014/08/20 HTML / CSS
三星俄罗斯授权在线商店:Samsung俄罗斯
2019/09/28 全球购物
党员一帮一活动总结
2014/07/08 职场文书
大学生党员自我剖析材料
2014/10/06 职场文书
庆祝国庆节标语
2014/10/09 职场文书
运动会广播稿50字-100字
2014/10/11 职场文书
镇党委书记群众路线整改措施思想汇报
2014/10/13 职场文书
爱国电影观后感
2015/06/19 职场文书
Python操作CSV格式文件的方法大全
2021/07/15 Python
MongoDB数据库部署环境准备及使用介绍
2022/03/21 MongoDB
python数字图像处理之图像的批量处理
2022/06/28 Python
vue递归实现树形组件
2022/07/15 Vue.js