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 に答える