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
0
投稿
猜你喜欢
- 由于系统自带的MySQL默认字符集不是gbk,因此给数据库的推广应用以及中文程序的开发带来极大的不便,在没完没了的GBK和UTF8的转换过程
- Internet Explorer 9 Platform 1.9.7916.6000 Preview 4微软今天公布了IE9 Platfor
- 在跨业务、跨网站发送数据或者业务升级的时候,我们有的时候需要指定发送数据的编码方式,比如页面是utf-8编码的,而发送出去的数据却是GB23
- 1.INSERT (往数据表里插入记录的语句) INSERT INTO 表名(字段名1, 字段名2, ……) VALUES ( 值1, 值2
- 1.彻底弄懂CSS盒子模式一(DIV布局快速入门) 2.彻底弄懂CSS盒子模式二(导航栏实例) 3.彻底弄懂CSS盒子模式三(浮动的表演和清
- 在我们使用查询语句的时候,经常要返回前几条或者中间某几行数据,这个时候怎么办呢?不用担心, mysql已经为我们提供了这样一个功
- 1、800*600下,网页宽度保持在778以内,就不会出现水平滚动条,高度则视版面和内容决定。2、1024*768下,网页宽度保持在1002
- python开发中经常遇到报错的情况,但是warning通常并不影响程序的运行,而且有时特别讨厌,下面我们来说下如何忽略warning错误。
- 1.echo和print的区别PHP中echo和print的功能基本相同(输出),但是两者之间还是有细微差别的。echo输出后没有返回值,但
- 其实就是利用文件“global.asa”!许多ASP编程新手都想知道这东西是什么?事实上,global.asa就是一个事件驱动程序,其中共包
- 这是一个网页设计中经常会用到的图片特效,实现多个图片之间的轮换,并分别带有连接。以前的代码只能适用于IE,在FF下始终没有得到很好的解决今天
- MSXML是微软非托管代码栈中最为核心的XML服务集合,不但适合基于COM的开发应用,更是微软AJAX解决方案和客户端XSLT解决方案的核心
- 你可能会遇到这样的要求,一个脚本,只允许有一个实例。在python中,为了实现这个需求,可以引入fcntl模块对文件加一个排他锁,这样一来,
- 要求必备知识熟悉基本编程环境搭建。运行环境windows 7(64位);php-5.3; memcached-1.2.6下载地址环境下载什么
- 1. 复制表结构及其数据:create table table_name_new as select * from table_name_o
- 类的私有属性和方法Python是个开放的语言,默认情况下所有的属性和方法都是公开的 或者叫公有方法,不像C++和 Java中有明确的publ
- 本文介绍了保护MySQL数据库中重要数据受外部攻击的六个注意事项,以减少面临的风险。与自动的数据库备份不同,对系统管理员来说,保护数据免受未
- 首先上一段程序:import numpy as nplist_a = list(range(10))print("list_a:
- 大家在用asp开发程序的时候,有时候会碰到以下的错误提示:Active Server Pages 错误 'ASP 0141'
- 实例如下:/** * 将数值四舍五入后格式化. * * @pa