使用easygui.fileopenbox打开含点文件夹路径异常求助
解决easygui fileopenbox无法定位到带点文件夹的问题
这个问题其实是easygui对default参数的解析逻辑导致的——它会把不带路径分隔符的末尾带点的路径,误判为文件后缀模板(比如.atom会被当成“所有后缀为atom的文件”),所以才会跳转到父目录C:\Users\user。
有两种简单的解决办法:
方法1:在路径末尾添加路径分隔符
直接在目标目录路径的最后加上反斜杠(Windows下),让easygui明确知道这是一个目录,而不是文件模板。用原始字符串的话写法很方便:
import easygui myfile = easygui.fileopenbox(msg="Choose a file", default=r"C:\Users\user\.atom\")
方法2:用os.path模块构造路径(跨平台友好)
如果你需要代码兼容不同操作系统,推荐用os.path.join来自动处理路径分隔符,确保末尾带有分隔符:
import easygui import os target_dir = r"C:\Users\user\.atom" # 空字符串和目录拼接会自动加上路径分隔符 target_path = os.path.join(target_dir, "") myfile = easygui.fileopenbox(msg="Choose a file", default=target_path)
这样修改后,对话框就会正确打开到C:\Users\user\.atom目录了。
内容的提问来源于stack exchange,提问作者MagTun
相关产品推荐
相关产品推荐

