@Alex_888

Как записать из txt файла в словарь и вывести в алфавитном порядке?

Вывожу inline клавиатуру таким образом -
stringList = {"1": "Один", "2": "Два", "3": "Три"}

def makeKeyboard():
    markup = types.InlineKeyboardMarkup()
    for key, value in stringList.items():
        markup.add(types.InlineKeyboardButton(text=value,callback_data="['value', '" + value + "', '" + key + "']"))
    return markup

@bot.message_handler(commands=['/start'])
def handle_command_adminwindow(message):
    bot.send_message(chat_id=message.chat.id,
                     text="Here are the values of stringList",
                     reply_markup=makeKeyboard(),
                     parse_mode='HTML')


Но проблема в том, что выводится она беспорядочно, необходимо вывести в алфавитном порядке.
И как прочитать из обычного текстового файла такого вида :
1 Один
2 Два
3 Три

в словарь stringList
  • Вопрос задан
  • 870 просмотров
Решения вопроса 1
kshnkvn
@kshnkvn
yay ✌️ t.me/kshnkvn
Прочитать txt вы можете так:
stringList = {}
with open("файл.txt") as f:
    for line in f:
        key, value = line.split()
        stringList[key] = value

До версии Python 3.7.3 словари были неупорядоченными и необходимо было использовать OrderedDict. Обновите версию Python до актуальной, или используйте OrderedDict
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы