根据文档,如果用户单击“取消”, 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(使用前将#替换为@)