У меня сложилось впечатление, что вы новичок в этом:
В то время как циклы обычно выглядят следующим образом:
while <condition>
...
<check_condition>
...
Это означает, что в большинстве случаев в каждый раз l oop выполняется, условие пересчитывается и проверяется снова while
.
В вашем случае это может выглядеть примерно так:
while (len(fname) == 0)
<show_error_message>
<get fname again>
Случай, который вы написали здесь (while true
) также существует и используется регулярно, но в очень разных случаях, например в многопоточных программах, основанных на событиях:
while true
<get_event>
Это означает, что часть программы (так называемая поток) ожидает события (например, нажатие кнопки), чтобы быть пойман, а затем что-то происходит. Однако в основном это делается в многопоточных приложениях, что означает, что «основная» программа что-то делает, а подпрограмма обрабатывает поступающие события.