Почему Python добавляет кавычки, когда я добавляю пробел после запятой в соединении строк?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Почему Python добавляет кавычки, когда я добавляю пробел после запятой в соединении строк?

Сообщение Anonymous »

Вот код, который я использую, чтобы просто найти на веб-сайте рестораны и цены на них.
def collect_dishes_list():
response = requests.get(url)
soup = BeautifulSoup(response.content, "html.parser")

restaurants = {}
restaurant_sections = soup.find_all("div", class_="lunch--inner")

for section in restaurant_sections:
restaurant_name = section.find("h3").text.strip()
dishes = []

dish_items = section.find_all("div", class_="single-offer--content")
price_items = section.find_all("div", class_="single-offer--price")

for dish_item, price_item in zip(dish_items, price_items):
dish_name = dish_item.find("p").text.strip()
price = price_item.find("p").text.strip()
name = f'{dish_name} :{price}'
dishes.append(name)

restaurants[restaurant_name] = dishes
return restaurants

for restaurant, dishes in collect_dishes_list().items():
dict_to_send = {}

dict_to_send[restaurant] = dishes

yaml_string = yaml.dump(dict_to_send, allow_unicode=True)

utf8_yaml_string = yaml_string.encode("utf-8")

payload = {
"text": utf8_yaml_string.decode()
}

print(payload)

Вывод такой:
{'text': 'Restaurant_Name:\n- Dish_Name_1 :Price_1\n- Dish_Name_2 :Price_2\n'}

Когда я хочу добавить пробел после двоеточия, например name = f'{dish_name} : {price}', тогда мой вывод заключается в одинарные кавычки, например
{'text': "Restaurant_Name:\n- 'Dish_Name_1 : Price_1'\n- 'Dish_Name_2 : Price_2'\n"}

Почему это происходит? Я бы хотел, чтобы перед и после запятой были пробелы.
Я пробовал использовать любые другие способы объединения строк, но ни один из них, похоже, не решил ситуацию:
dishes.append(f"{dish_name} : {price}")
price = " " + price_item.find("p").text.strip()
dishes.append(f"{dish_name} :{price}")

price = price_item.find("p").text.strip()
dishes.append(" : ".join([dish_name, price]))


Подробнее здесь: https://stackoverflow.com/questions/782 ... a-string-j
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»