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查找第k小元素代码分享
Dec 18 Python
Python编程中用close()方法关闭文件的教程
May 24 Python
Python实现telnet服务器的方法
Jul 10 Python
Python的几个高级语法概念浅析(lambda表达式闭包装饰器)
May 28 Python
python队列通信:rabbitMQ的使用(实例讲解)
Dec 22 Python
python字符串查找函数的用法详解
Jul 08 Python
Python3视频转字符动画的实例代码
Aug 29 Python
Django中提示消息messages的设置方式
Nov 15 Python
python字典的值可以修改吗
Jun 29 Python
numpy中生成随机数的几种常用函数(小结)
Aug 18 Python
Django中ORM的基本使用教程
Dec 22 Python
Python语言中的数据类型-序列
Feb 24 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脚本数据库功能详解(下)
2006/10/09 PHP
PHP 截取字符串专题集合
2010/08/19 PHP
浅析虚拟主机服务器php fsockopen函数被禁用的解决办法
2013/08/07 PHP
PHP safe_mode开启对于PHP系统函数有什么影响
2020/11/10 PHP
Display SQL Server Version Information
2007/06/21 Javascript
document.getElementById方法在Firefox与IE中的区别
2010/05/18 Javascript
Javascript中的作用域和上下文深入理解
2015/07/03 Javascript
实例详解jQuery的无new构建
2016/08/02 Javascript
HTML5 canvas 9绘制图片实例详解
2016/09/06 Javascript
微信开发之调起摄像头、本地展示图片、上传下载图片实例
2016/12/08 Javascript
Vue过滤器的用法和自定义过滤器使用
2017/02/08 Javascript
jQuery使用JSONP实现跨域获取数据的三种方法详解
2017/05/04 jQuery
vue中的scope使用详解
2017/10/29 Javascript
Vue 中mixin 的用法详解
2018/04/23 Javascript
加快Vue项目的开发速度的方法
2018/12/12 Javascript
利用d3.js实现蜂巢图表带动画效果
2019/09/03 Javascript
react使用CSS实现react动画功能示例
2020/05/18 Javascript
Vue通过provide inject实现组件通信
2020/09/03 Javascript
Python制作简易注册登录系统
2016/12/15 Python
浅析python协程相关概念
2018/01/20 Python
python 读取.csv文件数据到数组(矩阵)的实例讲解
2018/06/14 Python
利用Python的turtle库绘制玫瑰教程
2019/11/23 Python
Python虚拟环境库virtualenvwrapper安装及使用
2020/06/17 Python
Python爬虫教程知识点总结
2020/10/19 Python
Python为何不支持switch语句原理详解
2020/10/21 Python
城野医生官方海外旗舰店:风靡亚洲毛孔收敛水
2018/04/26 全球购物
如何写出好的Java代码
2014/04/25 面试题
建筑班组长岗位职责
2014/01/02 职场文书
研修第一天随笔感言
2014/02/15 职场文书
2014年妇产科工作总结
2014/12/08 职场文书
义诊活动总结
2015/02/04 职场文书
会计求职自荐信范文
2015/03/04 职场文书
中学感恩教育活动总结
2015/05/05 职场文书
工作感言一句话
2015/08/01 职场文书
最美劳动诗,致敬所有的劳动者!
2019/07/12 职场文书
教你用python控制安卓手机
2021/05/13 Python