Python 获取windows桌面路径的5种方法小结
作者:jwensh 发布时间:2023-04-01 09:06:47
标签:Python,windows,桌面,路径
这里介绍了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')
来源:https://blog.csdn.net/u013948858/article/details/75072873


猜你喜欢
- 在SQL Server 2008里安装审计,步骤如下:1. 给每个SQL Server 2008具体实例创建一个SQL Server审计2.
- 本文实例为大家分享了python模拟登录图书馆的具体代码,供大家参考,具体内容如下模拟表单提交的原理:我们都知道Http是无状态的,所以当我
- 国内站点经常使用的一些 CDN 静态资源公共库加速服务web开发人员们的福利来了。。旨在为大家提供更快很多其它更好的静态资源库的CDN载入库
- 前言有时候字符串匹配解决不了问题,这个时候就需要正则表达式来处理。因为每一次匹配(比如找以什么开头的,以什么结尾的字符串要写好多个函数)都要
- 可能是因为编译太简单了,golang 并没有一个官方的构建工具(类似于 java 的 maven 和 gradle之类的),但是除了编译,我
- 1、获取指定时间函数:date_format() 转换# 获取前一天时间的最大值SELECT date_format(CURRE
- 一、前言最近做web网站的测试,遇到很多需要批量造数据的功能;比如某个页面展示数据条数需要达到10000条进行测试,此时手动构造数据肯定是不
- 简介Python发送邮件的教程本人在网站搜索的时候搜索出来了一大堆,但是都是说了一大堆原理然后就推出了实现代码,我测试用给出的代码进行发送邮
- 一、生成日期数据import pandas as pdpd.date_range( )同生成随机数的思想类似,使用pandas库中的函数pd
- 无论是公司的同事还是外界的程序员朋友们,大部分人对JavaScript的高级应用不甚了解,已有的知识架构里会认为JavaScript仅仅是一
- 用新云还不是很熟,一点点学习中。今天遇到一个文章列表前有小圆点的问题,把去除方法记一下。文章列表前有小圆点有这么几种情况:1、li的默认样式
- 作为面向对象编程中实现控制反转(Inversion of Control,下文称IoC)最常见的技术手段之一,依赖注入(Dependency
- 今天在写爬虫程序的时候由于要翻页,做除法分页的时候出现了totalCount = '100' totalPage = int
- 遇到mysql ERROR 1045 这个问题搞了很久,自己记下来。方法是百度的,亲测有效。ERROR 1045 (28000): Acce
- 假设访问的views.py如下1.使用url配置默认页from django.conf.urls import urlfrom django
- 很多朋友使用Dreamweaver一段时间后,开始热衷于寻找各式各样的插件,追求各种各样的特效,而对于Dreamweaver中的基本功能反而
- MooTools 1.2介绍原文地址:30 Days of Mootools 1.2 Tutorials - Day 1 - Intro t
- 本文实例讲述了PHP实现的DES加密解密类定义与用法。分享给大家供大家参考,具体如下:今天写App接口的时候需要传递加密数据给APP端,于是
- 1:django-admin.py startproject 项目名2:cd 项目名3:修改setting.py(1):
- 注:本篇文章主要介绍如何在 Go 语言中定义和使用自定义类型,涉及到一定的编程基础知识和语法。如有不熟悉的地方,建议先去学习相关的基础知识。