Andrey
16.02.2018
09:24:06
Это красивее чем куча \
V
16.02.2018
09:24:16
уууу.... join еще сюда лепить
смысл в том что в каждой след строке должны бытьпробелы в начале
Andrey
16.02.2018
09:24:50
и?)
Google
V
16.02.2018
09:24:51
и кавычки должны быть на уровне скобки
так?
открывающие кавычки во второй строке должны быть на уровне скобки первой строки
Andrey
16.02.2018
09:28:13
lst = ["blabla :", "\nd: ", uy[message.chat.id], "\ns: ", st[message.chat.id], "\nf: ", ce[message.chat.id], " ", da[message.chat.id], " вц", nt[message.chat.id]]
msg = "".join(lst)
bot.send_message(message.chat.id, msg )
V
16.02.2018
09:28:33
а можете еще обьяснить почему pep8 рекомендует заменять == на is
?
Andrey
16.02.2018
09:28:50
я думаю pep8 объяснит лучше нас)
V
16.02.2018
09:29:11
E711 comparison to None should be 'if cond is None:'
это даже не предупреждение (W) а ошибка (E)
lst = ["blabla :", "\nd: ", uy[message.chat.id], "\ns: ", st[message.chat.id], "\nf: ", ce[message.chat.id], " ", da[message.chat.id], " вц", nt[message.chat.id]]
msg = "".join(lst)
bot.send_message(message.chat.id, msg )
ааа, вот оно как.. интересно, спасибо за пример
Andrey
16.02.2018
09:30:28
не за что
V
16.02.2018
09:30:59
не за что
это довольно удобно, когда много одинакового текста, или есть необходимость сделать мультилэнгвидж
имхо
Google
Andrey
16.02.2018
09:31:32
есть либа aiotg - асинхронная обертка к телеграмботапи
BuHuIIIko
16.02.2018
09:40:07
V
16.02.2018
09:54:01
Andrey
16.02.2018
09:56:36
запросы к боту обрабатывает асинхронно
V
16.02.2018
09:57:34
спасибо, это интересно
Andrey
16.02.2018
09:57:52
пожалуйста)
Aquinary
16.02.2018
11:23:04
Что посоветуете по паттернам и архетиктуре по питону почитать? Оно к языку, конечно, не привязано, но для наглядности. Очень часто страдаю от желания "переписать код"
V
16.02.2018
12:15:53
оказывается есть разница между is и ==
с == программа работает, а с is начинает работать не так как надо :))
Aquinary
16.02.2018
12:34:29
V
16.02.2018
12:37:45
))
Aquinary
16.02.2018
12:39:20
Это особенности, похоже)
V
16.02.2018
12:40:24
Aquinary
16.02.2018
12:41:00
Как я понял, использовать is не очень надёжно?
V
16.02.2018
12:41:03
да, определенно я из джавы это узнал впервые.. там сравнивали обьекты Cat и Dog
Google
V
16.02.2018
12:41:37
is это ты проверяешь принадлежность обьектов к одному классу
или типа того
а == это равенство ЗНАЧЕНИЙ
разных обьектов
- оператор==проверяет равенство значений двух объектов
- оператор is проверяет идентичность самих объектов. Его используют, чтобы удостовериться, что переменные указывают на один и тот же объект в памяти
даже вот как
Aquinary
16.02.2018
12:43:01
Бл, надо пересмотреть свои привычки
V
16.02.2018
12:43:20
дааа
питон он такой)
Alex
16.02.2018
12:44:56
Есть aiogram и он намного лучше.
Andrey
16.02.2018
12:45:34
чем?
Alex
16.02.2018
12:46:49
Удобнее, проще, в комплекте идет FSM, поддержка мидлварей
Более того это единственная библиотека (на питоне) с поддержкой ответа в вебхук
Ну и русскоязычный разработчик
Andrey
16.02.2018
12:52:13
надо будет заценить, спасибо
для моего бота впринципе хватает на данный момент и aoitg, но на будущее надо глянуть aiogram
Alex
16.02.2018
12:55:07
Aidar
16.02.2018
16:49:56
омг xonsh топ
HW_51Rs
17.02.2018
16:12:24
Здравствуйте, у меня проблема с типом dict. При попытке сделать dict.get('Something') != None вылетает ошибка KeyError: 0. Я таким образом хочу проверить, есть ли в словаре ключ 'Something'. Помогите, пожалуйста, разобраться.
Ibh
17.02.2018
16:17:13
»> dict = {'something' : 'value' }
»> 'something' in dict
True
»> dict.has_key('something')
True
Google
Ibh
17.02.2018
16:17:15
на вкус
Evil
17.02.2018
16:20:39
Admin
HW_51Rs
17.02.2018
16:20:46
Не помогло.
Evil
17.02.2018
16:20:48
get на то и нужен
HW_51Rs
17.02.2018
16:22:42
if result[0].get('message') :
...
Вот сам код. Еще пробовал в bool() заключать, приравнивать с None, но ошибка вылетает.
Dmitriy
17.02.2018
16:24:01
У тебя ошибка вылетает ещё до твоего .get(). Что такое result?
HW_51Rs
17.02.2018
16:25:38
result - это json формат. Я получаю строку str, делаю str.json(), потом смотрю результат. Ошибка вылетает как раз на строчке с if.
result = [{
"txt1":"2321",
"txt2":{"..."},
"Something":{"..."}
},
{..
}
]
Dmitriy
17.02.2018
16:27:57
В твоей строке с if ты пытаешься из словаря result получить значение по ключу 0
Естественного этого ключа нет - вылетает ошибка
т.е. можно просто сделать if “Something” in result:
HW_51Rs
17.02.2018
16:32:32
Извините, но я не дописал условие. Result - массив. Выше я исправил, как должен выглядеть код.
Dmitriy
17.02.2018
16:35:16
Если бы это был массив то ошибка keyerror не вылетала бы)
Рекомендую сделать print(result) и посмотреть что на самом деле в этой переменной
HW_51Rs
17.02.2018
16:35:55
Так я же выбираю из массива элемент [0] и с ним работаю. Поэтому и метод .get() применим.
Dmitriy
17.02.2018
16:38:27
ошибка KeyError: 0 означает, что в словаре result нет такого ключа. .get() вообще никаких ошибок не рейзит
HW_51Rs
17.02.2018
16:40:05
Да, я попробавал print(result[0].get('message')), если "message" нет. Вывело None.
Наверное, неправильно проверяю, что не None.
Решение ошибки нашлось, оказывается внутри одно из if, я менял result, и он становился словарем. Dmitriy , спасибо за помощь!
Google
John
17.02.2018
21:45:00
Привет
кто-нибудь юзал python construct? как вместе заюзать StopIf и GreedyString?
morpho
17.02.2018
21:56:06
есть кто живой?
Yaroslav
18.02.2018
06:13:18
Здесь все сдохли.
? Snyp
18.02.2018
09:27:29
Всем привет! Кто работал со звуком? Воспроизведение музыки.
Alan
18.02.2018
09:28:12
? Snyp
18.02.2018
09:29:58
Мне надо воспроизвести музыку в качестве уведомления, как напоминание о событиях. Использовал pygame, по началу работало но потом "ошибка сегментирования". Что можете посоветовать для этой задачи @Duiesel ?
Alan
18.02.2018
09:36:47
Ось какая?
? Snyp
18.02.2018
09:38:51
debian
Краб ходит E7
18.02.2018
11:25:17
? Snyp
18.02.2018
14:42:54
cпасибо, помогло.
Matwey
19.02.2018
16:56:23
Господа
А как bdist_wheel узнает какие нужны внешние зависимости?