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 os模块学习笔记
Jun 21 Python
Python中有趣在__call__函数
Jun 21 Python
用Python将动态GIF图片倒放播放的方法
Nov 02 Python
python笔记:mysql、redis操作方法
Jun 28 Python
Python中如何使用if语句处理列表实例代码
Feb 24 Python
基于树莓派的语音对话机器人
Jun 17 Python
Pandas DataFrame中的tuple元素遍历的实现
Oct 23 Python
python打印n位数“水仙花数”(实例代码)
Dec 25 Python
PyTorch和Keras计算模型参数的例子
Jan 02 Python
Python Tornado批量上传图片并显示功能
Mar 26 Python
完美解决keras 读取多个hdf5文件进行训练的问题
Jul 01 Python
Python3中的tuple函数知识点讲解
Jan 03 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
js技巧--转义符"\"的妙用
2007/01/09 Javascript
JavaScript经典效果集锦
2010/07/06 Javascript
一个轻量级的javascript库 pj介绍
2010/12/19 Javascript
JavaScript中通过prototype属性共享属性和方法的技巧实例
2015/03/13 Javascript
JavaScript内存管理介绍
2015/03/13 Javascript
js数组依据下标删除元素
2015/04/14 Javascript
jQuery实现列表内容的动态载入特效
2015/08/08 Javascript
[原创]JavaScript语法高亮插件highlight.js用法详解【附highlight.js本站下载】
2016/11/01 Javascript
AngularJS1.X学习笔记2-数据绑定详解
2017/04/01 Javascript
vue axios整合使用全攻略
2018/05/24 Javascript
vue-cli配置环境变量的方法
2018/07/09 Javascript
JS实现深度优先搜索求解两点间最短路径
2019/01/17 Javascript
微信小程序使用蓝牙小插件
2019/09/23 Javascript
extjs图形绘制之饼图实现方法分析
2020/03/06 Javascript
OpenLayers3实现图层控件功能
2020/09/25 Javascript
python模拟登陆阿里妈妈生成商品推广链接
2014/04/03 Python
使用Python中的线程进行网络编程的入门教程
2015/04/15 Python
Python中的ceil()方法使用教程
2015/05/14 Python
Python输出9*9乘法表的方法
2015/05/25 Python
python解决js文件utf-8编码乱码问题(推荐)
2018/05/02 Python
Python中if elif else及缩进的使用简述
2018/05/31 Python
Python实现的远程登录windows系统功能示例
2018/06/21 Python
解决pycharm的Python console不能调试当前程序的问题
2019/01/20 Python
利用python-pypcap抓取带VLAN标签的数据包方法
2019/07/23 Python
python_array[0][0]与array[0,0]的区别详解
2020/02/18 Python
calendar在python3时间中常用函数举例详解
2020/11/18 Python
python Xpath语法的使用
2020/11/26 Python
美国顶级防滑鞋:Shoes For Crews
2017/03/27 全球购物
澳大利亚宠物商店:Petbarn
2017/11/18 全球购物
亿企通软件测试面试题
2012/04/10 面试题
无故旷工检讨书
2014/01/26 职场文书
小爸爸观后感
2015/06/15 职场文书
导游词之无锡古运河
2019/11/14 职场文书
React Native项目框架搭建的一些心得体会
2021/05/28 Javascript
vue3种table表格选项个数的控制方法
2022/04/14 Vue.js
win10如何快速切换窗口 win10切换窗口快捷键分享
2022/07/23 数码科技