Python - 调用直到我得到返回值?

时间:2012-11-23 03:26:51

标签: python

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

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

如果没有将file_path设置为None,有没有更好的方法呢?有没有办法循环,直到返回一个值,或沿着那些行?

2 个答案:

答案 0 :(得分:1)

你可以试试:

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

然而,我不确定这看起来是否比原来的好多了

答案 1 :(得分:1)

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