python 使用win32 API打开文件管理器对话窗口代码

win10 系统进行python GUI设计时,涉及到文件打开、保存等可以使用win32 API接口来实现,使弹出的文件管理窗口更美观。调用以下函数,可以直接打开win10自带的文件管理窗口,还可以指定文件类型等。python2.7的pywin32库需另外下载安装,安装方法自行百度,文件类型指定可直接模仿file_type。

使用环境:

python 3.6.5
win32库可直接 “pip install pywin32” 安装

使用的库:

python 自带GUI库:tkinter;
win32 API库:win32ui, win32con

打开文件

def Win_Open_File():print("Open File\n")dlg = win32ui.CreateFileDialog(1, None, None, API_flag, file_type)     # 指定为打开文件窗口dlg.SetOFNInitialDir("C:")dlg.DoModal()path = dlg.GetPathName()print(path)

保存文件

def Win_Save_File():        # 保存文件时,文件后缀需要另处理print("Save File\n")dlg = win32ui.CreateFileDialog(0, None, None, API_flag, file_type)     # 指定为保存文件窗口dlg.SetOFNInitialDir('C:')     # 默认打开的位置dlg.DoModal()path = dlg.GetPathName()         # 获取打开的路径print(path)

完整代码

# !/usr/bin/python3.6.5
# -*- coding:UTF-8 -*-__author__ = {"name": "ZhuHaifang","email": "1159878350@qq.com","date": "2018-11-18 20:16:23","Project": "打开保存文件","Version": " V 1.0"}from tkinter import *
import win32ui
import win32confile_type = 'All File(*.*)|*.*|' \'Html File(*.html)|*.html|' \'Image File(*.bmp .jpg .png)|*.png;*.jpg;*.bmp|' \'python File(*.py .pyc)|*.py;*.pyc|' \'|'API_flag = win32con.OFN_OVERWRITEPROMPT | win32con.OFN_FILEMUSTEXISTdef Win_Open_File():print("Open File\n")dlg = win32ui.CreateFileDialog(1, None, None, API_flag, file_type)     # 指定为打开文件窗口dlg.SetOFNInitialDir("C:")dlg.DoModal()path = dlg.GetPathName()print(path)
def Win_Save_File():        # 保存文件时,文件后缀需要另处理print("Save File\n")dlg = win32ui.CreateFileDialog(0, None, None, API_flag, file_type)     # 指定为保存文件窗口dlg.SetOFNInitialDir('C:')     # 默认打开的位置dlg.DoModal()path = dlg.GetPathName()         # 获取打开的路径print(path)MainWindows = Tk()  # 主窗体
MainWindows.title(__author__["Project"]+__author__["Version"])
MainWindows.geometry("500x300")
Button(text='WIN 打开文件', command=Win_Open_File).pack()
Button(text='WIN 保存文件', command=Win_Save_File).pack()
MainWindows.mainloop()

GUI界面截图:

python打开文件管理器相关推荐

  1. 打开文件管理器并进行文件夹的复制、移动、删除、创建

    打开文件管理器并进行文件夹的复制.移动.删除.创建 调文件文件管理器并获取可操作文件的DocumentFile Intent intent = new Intent(Intent.ACTION_OPE ...

  2. linux打开文件管理器的快捷键

    1.在新窗口打开文件管理器 Ctrl+N 2.在当前窗口打开文件管理器 Ctrl+T

  3. Linux 命令行打开文件管理器 —— nautilus

    Linux 命令行打开文件管理器 -- nautilus Reference: LINUX nautilus 命令 nautilus 是 GNOME 桌面下的一个文件管理工具. 通过这个命令我们可以在 ...

  4. linux Ubuntu 如何以root身份打开文件管理器

    打开终端,直接在终端输入 nautilus 就可以以root身份打开文件管理器,就可以以可视化的形式操作文件啦~

  5. Python:文件管理器访问文件

    Python中利用文件管理器with/as语句可自动关闭打开的文件对象,不用再显示地使用close方法. 语句格式如下: with open('filename') as variable : var ...

  6. Linux中打开文件管理器的命令

    在Mac中,我们可以使用open命令,在终端打开指定目录下的文件管理器,在Linux中,同样可以使用类似的命令:nautilus. 转载于:https://www.cnblogs.com/chaogu ...

  7. 打开文件管理器_会声会影影片配置文件管理器

    在会声会影菜单栏的"设置"中有"影片配置文件管理器"这一功能,下面和大家聊一下这个功能.不管是"影片配置文件管理器"还是"项目属性 ...

  8. win10 uwp 打开文件管理器选择文件

    本文:让文件管理器选择文件,不是从文件管理器获得文件. 假如已经获得一些文件,那么如何从文件管理器选择这些文件? 使用方法很简单. 从网上拿图来说 打开文件夹自动选择所有文件 首先需要获得文件夹,因为 ...

  9. 在Deepin/Ubuntu中通过shell命令打开文件管理器到指定目录

    因为要用文件管理器来打开指定目录,我们需要用到 nautilus 这个程序 先安装nautilus sudo apt install nautilus 在终端中输入 nautilus 后直接可以进入主 ...

最新文章

  1. bmp图片加水印C语言,[求助]C语言 bmp文件加上水印
  2. 小tips:JS严格模式(use strict)下不能使用arguments.callee的替代方案
  3. JavaScript:this是什么
  4. 线段树教做人系列(3) HDU 4913
  5. 7.25第一次组队赛
  6. percona-toolkit(pt工具)使用总结
  7. SQL CASE 的用法
  8. 《落》用计算机弹,《大弦嘈嘈如急雨,小弦切切如私语.嘈嘈切切错杂弹,大珠小珠落玉盘.》什么意思|出处|翻译|用法例释...
  9. Cordova 快速入门记录
  10. android 导航抽屉_Android导航抽屉示例教程
  11. 信息系统安全风险识别与评估
  12. 计算机笔记检讨,没做笔记检讨书
  13. 【阿里天猫精灵专题】TB-02 RGB冷暖灯控制
  14. 运放搭建的跟随电路作用与分析
  15. awk 不一样的分隔符 - 空格分隔符
  16. SpringBoot整合Swagger2
  17. 基于strongSwan配置预共享密钥的IPsec实验
  18. Java开发者跳槽指南面试篇
  19. 九龙擒庄指标源码破译_妖股出世爆发点公式?九龙擒庄指标源码破译!
  20. C# WinForm创建Excel文件

热门文章

  1. 为什么博图中放置按下按钮无反应_为什么点击了没反应,每个按钮都是
  2. 【经验】为什么Android手机连接USB后查看手机内部图片有些有缩略图,有些显示图标?
  3. Windows 下Nexus搭建Maven私服
  4. 拼多多发布“双打行动”说明:已下架商品近430万件
  5. 关于电影票对接公众号cps
  6. 红米路由器ac2100怎样设置ipv6_红米路由器AC2100怎么样
  7. 标点符号的英文读写搜集(二)中英文标点符号的读法用法大全
  8. Mac保留文件重装系统
  9. CSS中的行盒(line-boxes)和行内盒子(line-box)
  10. 关于使用pop()的用法