python windows弹窗

2020-05-20  本文已影响0人  lmsly

python弹窗获得excel文件位置并且过滤文件

def load_or_save_excel_file(bOpen): 
    # bOpen为True代表打开,False代表保存
    # 过滤文件后缀   https://www.programcreek.com/python/example/92919/win32ui.CreateFileDialog
    #                http://timgolden.me.uk/pywin32-docs/win32ui__CreateFileDialog_meth.html
    #  '*.xls;*.xlsx||'
    # 需要pywin32这个库
    import win32ui
    # 过滤出文件结尾为 xlsx 与 xls
    filename_filter = "文件类型 (*.xls)|*.xls|文件类型 (*.xlsx)|*.xlsx||"
    dlg = win32ui.CreateFileDialog(1 if bOpen else 0, None, None, 1, filename_filter, None)  # 1表示打开文件对话框
    # dlg.SetOFNInitialDir('E:/Python')  # 设置打开文件对话框中的初始显示目录
    # 返回是否完成操作 1代表完成选取文件
    flag = dlg.DoModal()  # 成功选中文件地址 返回文件名,失败返回 None
    if 1 == flag:
        return dlg.GetPathName()
    else:
        return None

python windows弹窗

def message_box(title, msg):
    # 桌面弹出消息框
    # Python弹出MessageBox http://www.bubuko.com/infodetail-255690.html
    import ctypes
    ctypes.windll.user32.MessageBoxW(0, msg, title, 1)
    

def get_save_path():
    # 获取保存的文件夹
    # 当前并没有使用到
    import win32gui
    from win32com.shell import shell, shellcon

    desktop_pidl = shell.SHGetFolderLocation(0, shellcon.CSIDL_DESKTOP, 0, 0)
    pidl, display_name, image_list = shell.SHBrowseForFolder(
        win32gui.GetDesktopWindow(),
        desktop_pidl,
        "Choose a folder",
        0,
        None,
        None
    )
    # 获取
    print(shell.SHGetPathFromIDList(pidl))
    l = shell.SHGetPathFromIDList(pidl)
    print(l)
    return l

转载自:https://www.jianshu.com/p/e51f1ae24124

上一篇下一篇

猜你喜欢

热点阅读