Python 获取windows桌面路径的5种方法小结

 更新时间:2019年07月15日 17:06:16   作者:jwensh  
今天小编就为大家分享一篇Python 获取windows桌面路径的5种方法小结,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

这里介绍了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种方法小结就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 浅谈tensorflow 中的图片读取和裁剪方式

    浅谈tensorflow 中的图片读取和裁剪方式

    这篇文章主要介绍了浅谈tensorflow 中的图片读取和裁剪方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-06-06
  • Python+opencv 实现图片文字的分割的方法示例

    Python+opencv 实现图片文字的分割的方法示例

    这篇文章主要介绍了Python+opencv 实现图片文字的分割的方法示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07
  • Python内置函数int()用法简单介绍

    Python内置函数int()用法简单介绍

    这篇文章主要给大家介绍了关于Python内置函数int()用法的相关资料,int()函数常用来把其他类型转换为整数,文中通过代码介绍的非常详细,对大家学习或者使用python具有一定的参考借鉴价值,需要的朋友可以参考下
    2024-05-05
  • python3之微信文章爬虫实例讲解

    python3之微信文章爬虫实例讲解

    下面小编就为大家带来一篇python3之微信文章爬虫实例讲解。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-07-07
  • Python中生成随机整数的三种方法

    Python中生成随机整数的三种方法

    本文介绍了如何在Python中生成一到一百随机整数的多种方法,包括random库,NumPy库和random.sample函数这三种方法,具有一定的参考价值,感兴趣的可以了解一下
    2024-02-02
  • Python操作MongoDB增删改查代码示例

    Python操作MongoDB增删改查代码示例

    这篇文章主要介绍了Python操作MongoDB增删改查代码示例,需要的朋友可以参考下
    2022-12-12
  • 浅析Python 抽象工厂模式的优缺点

    浅析Python 抽象工厂模式的优缺点

    这篇文章主要介绍了Python 抽象工厂模式的优缺点,文中示例代码非常详细,帮助大家更好的理解和学习,感兴趣的朋友可以了解下
    2020-07-07
  • TensorFlow tf.nn.conv2d实现卷积的方式

    TensorFlow tf.nn.conv2d实现卷积的方式

    今天小编就为大家分享一篇TensorFlow tf.nn.conv2d实现卷积的方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-01-01
  • 详解Django ORM引发的数据库N+1性能问题

    详解Django ORM引发的数据库N+1性能问题

    这篇文章主要介绍了详解Django ORM引发的数据库N+1性能问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-10-10
  • YOLOv5车牌识别实战教程(一)引言与准备工作

    YOLOv5车牌识别实战教程(一)引言与准备工作

    这篇文章主要介绍了YOLOv5车牌识别实战教程(一)引言与准备工作,在这个教程中,我们将一步步教你如何使用YOLOv5进行车牌识别,帮助你快速掌握YOLOv5车牌识别技能,需要的朋友可以参考下
    2023-04-04

最新评论