Передача переменной из STT в url разделяется в Python

#python

#python

Вопрос:

Проект

Я пытаюсь создать интеллектуальный распознаватель голоса с помощью Python. Я использую SpeechRecognition в качестве своей библиотеки для выполнения распознавания речи. Пока все хорошо. Я также хочу включить функциональность API погоды, которая просматривает погодные условия из определенного местоположения.

Проблема

Я фиксирую местоположение как переменную с помощью распознавания речи. Затем я хочу использовать эту переменную внутри своего URL-адреса следующим образом:

         elif 'weer in' in command:
            apikey = 'key'
            location = command.replace('weer in', '')
            print location
            # using the string format method
            apiurl = 'http://website/api/json-data.php?key={apikey}amp;locatie={location}'.format(apikey=apikey, location=location)
            print(apiurl)
 

Вывод:

 weer in amsterdam
 amsterdam
http://website.nl/api/json-data.php?key=keyamp;locatie= amsterdam
 

Как вы можете видеть, переменная местоположения отделена от URL.
Я знаю, что это, вероятно, связано с преобразованием распознавания речи, поэтому я попытался преобразовать переменную в строку (что распознавание речи должно выполняться само по себе), но это тоже не работает.

Что я пробовал

  • Конкатенация строк : apiurl = 'http://website.nl/api/json-data.php?key=' apikey 'amp;locatie=' teststring
  • Строковые параметры : apiurl = 'http://website.nl/api/json-data.php?key=%samp;locatie=%s' % (apikey, location)
  • f’ строка : apiurl = f'http://website.nl/api/json-data.php?key={apikey}amp;locatie={location}'
  • Формат строки : apiurl = 'http://webiste.nl/api/json-data.php?key={apikey}amp;locatie={location}'.format(apikey=apikey, location=location)

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

1. ' ' После этого в строке остается дополнительное пространство command.replace . Вы можете просто rstrip() location избавиться от нее.

2. @rdas Действительно, хотя rstrip() не сработал, strip() сработал. Вот так: location = command.replace('weer in', '').strip() Спасибо!