Valeriy
вот видишь, что в PyQt5.QtWidgets вообще ничего нет
Valeriy
видно не доставился пайкьют
Valeriy
иначе бы ты увидел там твои модули
Valeriy
Выдает одну и ту же ошибку и при установленом кьюти, и при не установленом
Valeriy
Пробовал всячески переустанавливать – не помогло
Сергей
привет! подскажите кто знает, на чем быстрее всего парсер написать? (питон, js, ruby)
Сергей
спасибо!🙂
Сергей
знаю руби лучше всего, а так могу на любом, хотел время сэкономить
Andrey 😼
(да, вряд ли уже актуально, но не упомянуть не мог)
Сергей
сделал на руби, watir почти как nokogiri, а есть пример парсер на питоне пощупать, на гитхабе или еще где?
Andrey 😼
Ватир разве не требует целый браузер?
Сергей
headless chrome использовал
Andrey 😼
Ну, просто нокогири - это только парсер и, следовательно, куда легковеснее)
Сергей
кстати да, может и зря я вообще хром взял в этот раз
adel
Подскажите, пожалуйста. Как посчитать узнать кол-во строчек в файле? (расширение .txt)
Valeriy
скопируй в редактор кода😂
Valeriy
там есть нумерация строк😆
Valeriy
а так не знаю
Valeriy
знаю как количество символов посчитать
Absolute
считать весь файл и посмотреть кол-во переносов строк
adel
Более оптимальный способ есть? Про \n я знаю.
adel
Нашел еще такой sum(1 for l in open('file', ‘r’)) .
Absolute
while input(): cnt+= 1
Absolute
и переопредели stdin
Сергей
конвертировать в массив и посчитать количество элементов
Сергей
на руби в одну строчку можно сделать
Сергей
хотя может какая-то штука есть и для построчного чтения
Yaroslav
лол
sytyy00
всем привет, прошу не гнобить ,только начал учить питон . и у меня вопрос . log.exception("Exception message") этот лог в exception ,чтобы выводился на консоль и в файл в файл сделал так logging.FileHandler('log_2.log', 'a') и setLevel(logging.INFO) . как это сделать ?
Денис
AddHeandler
sytyy00
error = logging.getLogger("Error") error.setLevel(logging.INFO) handler_2 = logging.FileHandler('log_2.log', 'a') handler_2.setLevel(logging.INFO) formatter_2 = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s') handler_2.setFormatter(formatter_2) error.addHandler(handler_2)
sytyy00
вот такой код
sytyy00
try: in_card = int(input("Repel ")) except ValueError: error.exception("Exception message")
sytyy00
при таком исполнении выводит только в файл
Vitaly
Вернуться в игру
Vladimir
Вернуться в игру
Это фиаско братан
Vitaly
🙁
Vladimir
bot.send_message(message.chat.id, "blabla :" + \ "\nd: " + uy[message.chat.id] + \ "\ns: " + st[message.chat.id] + \ "\nf: " + ce[message.chat.id] + " " + \ da[message.chat.id] + " вц" nt[message.chat.id])
Vladimir
друзья, вот такой код
Vladimir
обязательно ли нужны "\"?
Vladimir
подскажите как сделать красивее
Yaroslav
Прочитай про экранирование символов
Yaroslav
И перенос строк кода
Vladimir
не могу найти нормального обьяснения по моему случаю....
Vladimir
я думаю что надо так
Vladimir
bot.send_message(message.chat.id, "klsdlkasjdlkadls" + "alsdk;lasdkals")
Andrey
Если вопрос в строке, то я бы вначале сделал список того, что нужно склеить, а потом воспользовался бы join-ом
Andrey
Это красивее чем куча \
Vladimir
уууу.... join еще сюда лепить
Vladimir
смысл в том что в каждой след строке должны бытьпробелы в начале
Andrey
и?)
Vladimir
и кавычки должны быть на уровне скобки
Vladimir
так?
Vladimir
открывающие кавычки во второй строке должны быть на уровне скобки первой строки
Andrey
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 )
Vladimir
а можете еще обьяснить почему pep8 рекомендует заменять == на is
Vladimir
?
Andrey
я думаю pep8 объяснит лучше нас)
Vladimir
E711 comparison to None should be 'if cond is None:'
Vladimir
это даже не предупреждение (W) а ошибка (E)
Andrey
не за что
Vladimir
не за что
это довольно удобно, когда много одинакового текста, или есть необходимость сделать мультилэнгвидж
Vladimir
имхо
Andrey
есть либа aiotg - асинхронная обертка к телеграмботапи
Vladimir
Andrey
запросы к боту обрабатывает асинхронно
Vladimir
спасибо, это интересно
Andrey
пожалуйста)
Aquinary
Что посоветуете по паттернам и архетиктуре по питону почитать? Оно к языку, конечно, не привязано, но для наглядности. Очень часто страдаю от желания "переписать код"
Vladimir
оказывается есть разница между is и ==
Vladimir
с == программа работает, а с is начинает работать не так как надо :))
Aquinary
с == программа работает, а с is начинает работать не так как надо :))
В гуглстайле по питону рекомендуют использовать по возможности is/not и проч. вместо != например А что с чем сравнивается, можно глянуть?