当用户单击“取消”时,Tkinter AskOpenFileName 未按预期返回。

2023-12-10

根据文档,如果用户单击“取消”, filedialog.askopenfilename() 应该返回一个空字符串,但它没有这样做,而且我无法弄清楚它实际返回的内容。

我制作了这个小测试程序,其行为与我的实际项目相同:

from tkinter import *
from tkinter import filedialog

name = filedialog.askopenfilename()
if name == '':
    print("Nothing chosen")
else:
    print(name)

当用户点击取消时最终打印的是一对空括号 ()

将 '' 替换为 '()' 不会改变任何内容。

任何帮助弄清楚正在发生的事情的帮助都会受到赞赏。谢谢。

更新:感谢 @PaulRooney 的建议,让它工作,但是现在,我第一次运行这部分代码(在我的完整项目中),它返回空元组。对于随后的每次运行,它都会返回一个空字符串。

简单地检查这两个作品是否满足我的需要,但这是奇怪的行为。

我在 Linux Mint 上使用 Python 3。


如果名字能正常工作。

from tkinter import *
from tkinter import filedialog

name = filedialog.askopenfilename()
if name:
    print(name)
else:
    print("Nothing chosen")
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

当用户单击“取消”时,Tkinter AskOpenFileName 未按预期返回。 的相关文章

随机推荐

  • iOS CoreBluetooth 未扫描 iPad Air 中的服务

    我正在开发一个连接到 BLE 外设并从中接收数据的应用程序 它扫描外围设备 找到外围设备 发现服务 如果找到正确的服务 它就会接收数据 它在 iPhone 5 上运行良好 但当我在 iPad Air 上运行它时 它可以连接 但没有发现任何服
  • 防止网站上的暴力登录

    作为对最近的回应推特劫持 and Jeff 关于字典攻击的帖子 保护您的网站免受暴力登录攻击的最佳方法是什么 Jeff 的帖子建议为每次尝试登录增加延迟 并且评论中的建议是在第二次失败的尝试后添加验证码 这两个看起来都是好主意 但是你怎么知
  • XSLT、XML:按属性值分组

    使用 XSLT 根据属性值对元素进行分组的最佳方法是什么 使用 XSLT 2 0 或更高版本会更好吗 非常感谢您的帮助 Thomas 原始 XML
  • 如何使用宏将多个网页的数据提取到Excel中

    我正在尝试从一个特定网站将数据提取到 Excel 2007 中 但数据分布在多个网页上 我想在我的工作表中看到的是该网站上提供了哪些项目 而无需浏览许多页面或使用搜索 我的浏览器中有点错误 我尝试过通过 Excel 导入数据 但这只适用于一
  • Pandas - 计算过去 x 天数的值频率

    我发现了一些意想不到的结果 我想做的是创建一个列来查看 ID 号和日期 并计算该 ID 号在过去 7 天内出现的次数 我还想让该列动态化 x 数量 天 但只是尝试 7 天 所以给定这个数据框 import pandas as pd df p
  • 使用 Angular JS 更改 HTML 表格单元格背景颜色

    我刚刚开始在我的项目中使用 Angular JS 我一直在寻找一种方法来根据 Angular JS 表达式的值更改 HTML 表格单元格的背景颜色 但尚未找到解决方案 这是单元格 td data material or service td
  • Spring Security Thymeleaf 静态资源未加载

    我将 Spring MVC 与 Thymeleaf 和 Spring Security 一起使用 我想使用 Thymeleaf 模板加载页面 并且可以加载静态资源 我想从 template html 加载位于以下位置的图片 static i
  • 使用隐式模拟部分类型参数推断?

    我正在 Scala 中制作一个简单的依赖注入框架 用于构造函数注入 这个想法是 DI 对象将其所需的服务像常规参数一样放入其构造函数中 并实现一个类型类来确定哪些参数是从容器中获取的 哪些是由用户在实例化时传递的 所以 它应该看起来像 tr
  • 在querydsl中调用mysql嵌套/内部函数

    我需要在 QueryDsl Native MySQL 中运行以下查询 SELECT cast json unquote JSON EXTRACT vendor master vendor currency as char as curren
  • 在新方法中创建意图

    因此 我想要一个启动一个 Activity 的意图 该 Activity 只需弹出一个对话框弹出框 告诉用户如何使用该应用程序 我有代码 private final View OnClickListener btnClick new Vie
  • 如何在没有 System.exit 的情况下退出 Java 程序?(来自用户输入?)

    这是我的代码 我不确定如何使用返回值退出程序 有任何想法吗 这是我的任务的最后一步 重要区域标有 我听说 return 有效 但是当我将 main 中的 void 更改为 int 时 程序说 main 必须为 void import jav
  • python中以0开头的数字是什么意思?

    当我在 python 中输入前面带 0 的小整数时 它们会给出奇怪的结果 为什么是这样 gt gt gt 011 9 gt gt gt 0100 64 gt gt gt 027 23 我正在使用Python 2 7 3 我已经在 Pytho
  • Java获取所有选中的复选框

    我有一个 Java 对话框 向用户显示大约 15 个复选框 有没有办法一次性获取所有选中复选框的名称 目前 我正在一一查看它们是否被选中 这并不是一个理想的解决方案 我正在寻找类似的东西获取数组中所有选定的复选框但后来在Java中 当您将复
  • rand() 生成相同的数字 - 即使在我的主程序中使用 srand(time(NULL)) !

    所以 我试图创建一个随机向量 想想几何 而不是可扩展数组 每次调用随机向量函数时 我都会得到相同的 x 值 尽管 y 和 z 不同 int main srand unsigned time NULL Vector
  • 动态 Linq Groupby SELECT 键、列表

    我正在使用 Dynamic Linq 助手对数据进行分组 我的代码如下 Employee empList new Employee 6 empList 0 new Employee Name CA State A Department xy
  • JPA 中的并发(陈旧数据)问题

    假设我有具有以下签名的方法 Object getData int id create a entity manager get data frm db return data updateData Object obj getData id
  • jquery mobile collapsible-set 在折叠时执行 jquery 函数

    我正在尝试对 jquery mobile 可折叠集的折叠 展开执行操作 我正在运行 jquery mobile 1 4 4 和 jquery 1 11 0 我已经在小提琴上发布了代码来测试它是否有效 但它不起作用 此功能适用于旧版本的 jq
  • JSF ui:repeat 被 ui:include 包含在 h:panelGroup 中并带有条件渲染...满口

    原来的问题在下面 但我想出了一个更简单的例子来演示这个问题 并认为它应该放在顶部 无论如何 看来ui repeat在检查父元素是否实际呈现之前处理标签 为了重新创建它 这里是 Facelet minimalTest xhtml
  • Hadoop 节点管理器不满足最小分配

    Hadoop 节点管理器不满足最小分配 我收到以下错误 org apache hadoop yarn exceptions YarnRuntimeException 已收到 来自Resourcemanager的SHUTDOWN信号 Node
  • 当用户单击“取消”时,Tkinter AskOpenFileName 未按预期返回。

    根据文档 如果用户单击 取消 filedialog askopenfilename 应该返回一个空字符串 但它没有这样做 而且我无法弄清楚它实际返回的内容 我制作了这个小测试程序 其行为与我的实际项目相同 from tkinter impo