Как сопоставить переменную в операторе?

#python

Вопрос:

Я хотел бы использовать переменную fetch_name для соответствия условию. Если совпадение найдено, запустите функцию def range_func (), иначе она должна продолжить выполнение другой функции скрипта.

 pre_confif ={}
pre_confif['pre_confif']= "flow/config/mode/" fetch_name "/boundary/" type ".json"

if fetch_name == 'deploy' 

# if match found then run this function
    def range_func():
        #do something
else:
    # should continue to run rest of the script
 

Комментарии:

1. def определяет функцию, которую затем можно запустить.

2. Какая конкретная проблема у вас с этим сценарием?

Ответ №1:

Вот как вы хотели бы это сделать:

 def rnge():
    # Function code here

if fetch_name == 'deploy':
    rnge()
else:
    # Do something else
 

Обратите внимание, что вы хотите определить свою функцию вне оператора if и просто вызвать ее внутри блока if. Кроме того, вам следует избегать использования «диапазона» в качестве имени функции, так как это встроенная функция python.

Ответ №2:

Вы должны определить функцию над основным кодом и вызвать ее. Также не используйте предопределенные имена методов python в качестве имени функции или имени переменной.

 def range_func():
  return 


pre_confif={}
pre_confif['pre_confif']="flow/config/mode/" fetch_name "/boundary/" type ".json"

fetch_name = input()

if fetch_name == 'deploy':
    result = range_func()
    print(result)
else:
    print('Not deploy')
    # should continue to run rest of the script