python获取Windows特殊文件夹路径

有时候你想给你的程序添加桌面快捷方式,但却连桌面的准确路径都不知道,还好微软的API给出了一些特殊文件夹路径的获取方法,再利用python的win32com模块(非标准库)即可在python中实现同样的操作!

# -*- coding: cp936 -*-
from win32com.shell import shell
from win32com.shell import shellcon

#获取"启动"文件夹路径,关键是最后的参数CSIDL_STARTUP,这些参数可以在微软的官方文档中找到
startup_path = shell.SHGetPathFromIDList(shell.SHGetSpecialFolderLocation(0,shellcon.CSIDL_STARTUP))
#获取"桌面"文件夹路径,将最后的参数换成CSIDL_DESKTOP即可
desktop_path = shell.SHGetPathFromIDList(shell.SHGetSpecialFolderLocation(0,shellcon.CSIDL_DESKTOP))

if __name__ == "__main__":
    print startup_path
    print desktop_path

CSIDL参数与个文件夹的对应表,详情请见微软官方文档,http://msdn.microsoft.com/en-us/library/bb762494(v=vs.85).aspx

时间: 2024-10-26 00:30:16

python获取Windows特殊文件夹路径的相关文章

获取系统特殊文件夹路径信息

//获取系统特殊文件夹路径信息 try {   this.textBox1.Text=Environment.GetFolderPath(System.Environment.SpecialFolder.System);   this.textBox2.Text=Environment.GetFolderPath(System.Environment.SpecialFolder.ProgramFiles);   this.textBox3.Text=Environment.GetFolderPa

Python获取当前脚本文件夹(Script)的绝对路径

Python获取当前脚本绝对路径 Python脚本有一个毛病,当使用相对路径时,被另一个不同目录下的py文件中导入时,会报找不到对应文件的问题.感觉是当前工作目录变成了导入py文件当前目录.如果你有配置文件的读取操作,然后都放在一个py文件中,而你又用的是相对路径,而且这个py文件在多个不同目录下的py文件中被导入,那就呵呵了...还是用绝对路径吧. 解决这个问题,可以用绝对路径.当然是自动的绝对路径,而不是每次都手动给前缀赋值,让脚本自动寻找当前文件的绝对路径. 此处分享在python下获取一

获取系统特殊文件夹路径

实现效果: 知识运用: Environment类的GetFolderPath方法 //获取指向由枚举标识的系统特殊文件夹的路径 public static string GetFolderPath (Environment.SpecialFolder   folder) 实现代码: private void Form1_Load(object sender, EventArgs e) { foreach (Environment.SpecialFolder item in System.Enum

获取沙盒文件夹路径的几个方法

1 #import "ViewController.h" 2 3 @interface ViewController () 4 5 @end 6 7 @implementation ViewController 8 9 - (void)viewDidLoad { 10 [super viewDidLoad]; 11 12 #pragma mark - 第一种打开应用程序沙盒路径的方式 13 14 // 地址是一个字符串 15 // NSSearchPathForDirectoriesI

SHGetFolderPath 获取系统各文件夹路径

// SHGetFolderPath string cFilePath; SHGetFolderPath(NULL ,CSIDL_PERSONAL ,0 ,0 ,cFilePath); 以下为函数原型: HRESULT SHGetFolderPath(          HWND hwndOwner,    int nFolder,    HANDLE hToken,    DWORD dwFlags,    LPTSTR pszPath); 其中nFolder指定要获取的目录(具体参考MSDN

laravel获取不同目录文件夹路径的函数

laravel下面有几个取特殊路径的函数,这里做个总结.大家按需取用即可.除了base_path是指的代码根目录外,其他的几个函数都指代的是具体的同名目录. base_path() //站点根目录 app_path() //app目录 public_path() //public目录 storage_path() // storage 目录 resource_path() //resources 目录 config_path() // config 目录 database_path() // d

java 弹出选择目录框(选择文件夹),获取选择的文件夹路径

1 int result = 0; 2 File file = null; 3 String path = null; 4 JFileChooser fileChooser = new JFileChooser(); 5 FileSystemView fsv = FileSystemView.getFileSystemView(); //注意了,这里重要的一句 6 System.out.println(fsv.getHomeDirectory()); //得到桌面路径 7 fileChooser

python 获取当前文件夹路径及父级目录的几种方法

获取当前文件夹路径及父级目录: import os current_dir = os.path.abspath(os.path.dirname(__file__)) print(current_dir) #F:\project\pritice current_dir1 = os.path.dirname(__file__) print(current_dir1) #F:/project/pritice parent_path = os.path.dirname(current_dir1) pri

VC 获取指定文件夹路径的方法小结

VC获取指定文件夹路径 flyfish  2010-3-5 一 使用Shell函数 1 获取应用程序的安装路径 TCHAR buf[_MAX_PATH];SHGetSpecialFolderPath(NULL,buf,CSIDL_PROGRAM_FILES,NULL);AfxMessageBox(buf); 2 获取应用程序数据路径的文件夹 TCHAR bufApplicateData[_MAX_PATH];SHGetSpecialFolderPath(NULL,bufApplicateData