今天在做小程序时遇到了一个问题,假如我想要用户打开一个文件,若他在对话框里点了取消,那么返回的文件路径就是空的,打开文件就会出错,那么这样的话我就要让他一直打开,直到他打开了一个真实的文件才行。我考虑到用递归做,第一次直接打开真实文件的话一切正常,可是当我第一次不打开(取消),第二次打开时,就没有返回的内容了。请大家分析一下问题。
下图为源码
from tkinter import messagebox, filedialog
def open_file():
file_name = filedialog.askopenfilename(
title="请选择一个 txt 文本文档",
filetypes=(("文本文档", "*.txt"),))
if file_name == "":
messagebox.showwarning("警告", "未选择任何文件,请再次尝试。")
open_file()
return file_name
result = open_file()
print("文件路径:" + result)