1

我正在调用一个函数来获取用户在简单 gui 中选择的文件。我正在尝试确定在用户选择文件之前继续提示用户的正确方法。现在我的电话是:

    file_path = None 
    while file_path is None:
        file_path = input_text_file()   # calls function to prompt user

有没有更好的方法来做到这一点,而无需最初将 file_path 设置为 None?有没有办法循环直到返回一个值,或者类似的东西?

4

2 回答 2

1

你可以试试:

while True :
    file_path = input_text_file()
    if file_path : break

但是,我不确定这看起来是否比原版好很多

于 2012-11-23T03:32:20.613 回答
1

如果这是要求用户选择文件的某些表单或向导的一部分,那么您可以在用户单击继续或下一步按钮时简单地检查 file_path 的值,如果他们没有选择文件,则以某种方式通知他们他们需要这样做。这不会消除设置 file_path = None 的需要,但会消除 while 循环。如果您的设置只是循环直到选择一个文件,您的方式或 lenik 就可以正常工作。除非您根据所选文件对 GUI 的一部分进行某种动态更新,否则可能不需要循环,但我没有足够的信息来做出这个假设。

于 2012-11-23T03:43:00.890 回答