wait
также (дополнительно) берет PID процесса для ожидания, и с $! Вы получаете PID последней команды, запущенной в фоне. Измените цикл для хранения PID каждого порожденного подпроцесса в массив, и затем цикла, снова ожидая на каждом PID.
# run processes and store pids in array
for i in $n_procs; do
./procs[${i}] &
pids[${i}]=$!
done
# wait for all pids
for pid in ${pids[*]}; do
wait $pid
done
Предполагая, что вы хотите оставить myVariable нетронутым до его предыдущего значения в случае «не существует»,
myVariable = testVariable or myVariable
рассматривает первый случай, а
myVariable = request.POST.get('query', myVariable)
- второй. Однако ни то, ни другое не имеет ничего общего с «существующим» (что вряд ли является концепцией Python ;-): первое касается истинности или ложности, второе - наличия или отсутствия ключа в коллекции.
Первый экземпляр указан странно ... Зачем устанавливать логическое значение на другое логическое значение?
Что вы можете иметь в виду, так это установить myVariable в testVariable, когда testVariable не является строкой нулевой длины или не является None или не является чем-то, что может быть оценено как False.
Если да, я предпочитаю более явные формулировки
myVariable = testVariable if bool(testVariable) else somethingElse
myVariable = testVariable if testVariable is not None else somethingElse
Когда индексации в словарь, просто используйте get
.
myVariable = request.POST.get('query',"No Query")