Ilya-S-Zharskiy

The following NEW packages will be installed:
  binutils binutils-common binutils-x86-64-linux-gnu build-essential cpp cpp-7 dpkg-dev fakeroot g++ g++-7
  gcc gcc-7 libalgorithm-diff-perl libalgorithm-diff-xs-perl libalgorithm-merge-perl libasan4 libatomic1
  libbinutils libc-dev-bin libc6-dev libcc1-0 libcilkrts5 libdpkg-perl libexpat1-dev libfakeroot
  libfile-fcntllock-perl libgcc-7-dev libgomp1 libisl19 libitm1 liblsan0 libmpc3 libmpx2 libpython-all-dev
  libpython-dev libpython2.7-dev libquadmath0 libstdc++-7-dev libtsan0 libubsan0 linux-libc-dev make
  manpages-dev python-all python-all-dev python-dbus python-dev python-gi python-keyring
  python-keyrings.alt python-pip python-pip-whl python-secretstorage python-wheel python-xdg python2.7-dev
0 upgraded, 56 newly installed, 0 to remove and 55 not upgraded.
Need to get 68.0 MB of archives.
After this operation, 208 MB of additional disk space will be used.

/хороший пакетный менеджер
/и  зависимости интересные

Shura

Бесит, что в питоне, если пытаешься взять несуществующее значение из словаря, получаешь исключение. Привычная конструкция типа
if not a[key]: a[key]=1
не работает. Приходится пользоваться .get(key). В итоге получается мешанина, где-то обращение по get, а где-то напрямую через []. После стройности перла это ошарашивает.

kunsun

16 секунд занимает проверка 60000 слов на нечеткое совпадение с искомым словом на первом распбери пае
слова лежат в словаре внутри списков, по сути просто в многомерном массиве

хз как работает это нечеткое совпадение но похоже просто считаются символы в обоих словах и плюс немножко логики как учитывать отсутствие или лишние буквы или наличие символов которых нет в оригинале

на селероне g3900 выполняется за 0.142932 сек. уныленько как то все с производительностью в питоне

kunsun

>> from fuzzywuzzy import fuzz
>> print(fuzz.ratio("Иванов Е.А.", "Иванов ЕА"))
90
>> учим петон понимаь олбанский и малограмотную писанину

кожаные ублюдки никогда не пишут достаточно правильно

kunsun

чот подгорает когда вижу программы типа

a = int(input())
print(a**128)

на кой хрен нужен консольный инпут, почему бы не написать просто a=10, все равно же никто не будет запускать это гавно иначе как из иде чтоб посмотреть что все ок и забыть как страшный сон

кто-нибудь когда-нибудь видел чтоб реальная программа в консоли что то просила ввести, ну кроме подтверждений типа "это действие очень опасно, напишите слово ДА если вы точна уверены что хотите удалить всё под корень"

kunsun

с помощью нехитрой змеиной магии можно легко получить ссылки на скачивание с ютуба, при открытии их в браузере играет чистое видео без рекламы, тормозных комментариев итп

странно что реп расширений в фаирфоксе не завален расширениями которые позволяют так смотреть на ютуб, типа нажимаешь на ссылку и открывается окно с видео а не с тем мегатормозным гавном что обычно

гугол случайно не главный спонсор фаирфокса?

pastebin.com

kunsun

чтение и выборка данных с нескольких страниц .xlsx файла размером 300кб с помощью openpyxl на распбери пае первой модели занимает 2 минуты, xlrd — 20 секунд
на обычном офисном ящике с крутиляторами 1-2 сек
попытка распарсить вручную провалилась, на страницах просто нет некоторых значений, возможно они там указаны как ссылки на другую страницу, поди пойми эти индусов из майкрософта

kunsun

кажется угнич в кои то веки оказался прав

github.com в этом файле отступы сделаны пробелами

скачал этот файл, попробовал, работает

заменил все группы пробелов по 4шт в начале каждой строки на 1 таб, и работать перестало, причем перестало очень странно, никаких ошибок не вываливает , просто не работает

kunsun

строгая типизация по змеиному

def insert(self, start, inp, out):
if not (all(isinstance(item, int) for item in start) and \
all(isinstance(item, int) for item in inp) and \
all(isinstance(item, int) for item in out) and \
len(start) == 5 and len(inp) == 5 and len(out) == 5):
raise TypeError('Должно быть 3 списка по 5 интов в каждом\n' \
+ str(start) + '\n' + str(inp) + '\n' + str(out))

kunsun

openpyxl может открыть эксель файл, почитать, поменять значения ячеек, сохранить. всё бы хорошо но при сохранении в мс ворде плывет форматирование при этом в либраофисе оно почему то не плывет
еще эта библиотека не умеет читать файлы мсофиса старее чем 2007
пичалька
openpyxl.readthedocs.io

kunsun

гвидо ван росум, главный питон мира, ушел в отставку потому что мартышки задрали его непристойными предложениями. последней каплей стал новый оператор присваивания :=

зы я тут недавно код видел в котором типы переменных объявляются явно, как будто это не питон а жаба какая то. куда катится этот мир

kunsun

что то не пойму что происходит

есть 2 глобальные переменные и функция которая их использует

почему вылезает ошибка о не объявленной переменной и приходится объявлять её глобальной

if ALARM_WAS_SEND == 1:
UnboundLocalError: local variable 'ALARM_WAS_SEND' referenced before assignment

почему только для одной

pastebin.com

kunsun

питон может работать с сайтами сделанными из жаваскрипта чуть менее чем полностью? то есть залогиниться на такой сайт, прочитать там чего-нибудь. может есть какой-нибудь вариант с помощью браузерного плагина записать последовательность действий и передать это в питон

kunsun

змей не может сериализовать простейший словарь из двух элементов id:title

{'5548395': 'Пространство Экспансия The Expanse Сезон: 3 Серии: 1-10 из 13 (Роберт Либерман, Терри МакДонаф) [2018, США, фантастика, детектив, WEBRip] MVO (LostFilm) + Original :: RuTracker.org', '5553077': 'В пустыне смерти Into the Badlands Сезон: 3 / Серии: 1-8 из 16 (Дэвид Добкин) [2018, США, Боевик, драма, приключения, экранизация, WEB-DLRip] MVO (LostFilm) :: RuTracker.org'}

Traceback (most recent call last):
File "./rutracker_bot.py", line 97, in
check_for_updates(1,2)
File "./rutracker_bot.py", line 77, in check_for_updates
pickle.dump(DB, open(config['0']['db'],'wb'))
File "/home/user/.local/lib/python3.6/site-packages/bs4/element.py", line 726, in __getnewargs__
return (str(self),)
RecursionError: maximum recursion depth exceeded while calling a Python object

vt

$ brew remove python@2
Error: Refusing to uninstall /usr/local/Cellar/python@2/2.7.15
because it is required by gdal, numpy, postgis, which are currently installed.
You can override this and force removal with:
  brew uninstall --ignore-dependencies python@2
$ brew remove python
Error: Refusing to uninstall /usr/local/Cellar/python/3.6.5
because it is required by gdal, numpy, which are currently installed.
You can override this and force removal with:
  brew uninstall --ignore-dependencies python

kunsun

хочу сделать бота который будет выдавать отчет по команде

сделал простейшего на питоне и есть пара вопросов
как авторизовать собеседников, не разговаривать ни с кем кроме белого списка
где логи, куда он их пишет

pastebin.com

O01eg

Давно ходила шутка, что всех чиновников можно заменить простым скриптом. Кажется, я начинаю догадываться, как будет выглядеть Прекрасная Россия Будущего: twitter.com
"Сходил к Навальному.
Ожидание: Спасибо за доширак, а теперь расскажи про расследования
Реальность: Спасибо за доширак, а вот, кстати, мой рейтинг лапши и схема передвижения котов за окном. А теперь рассказывай мне про Питон и машинлёнинг"

wan-man

Чем заняться при выходе в отпуск? Вопрос не от скуки, а от разноплановости: на работе хотят, чтобы я сидел на удалёнке и работал; тесть хочет, чтобы занялся его машиной и дачей; жена хочет домашние дела; ребенок хочет внимания; я хочу за Ubuntu и заняться 3d моделями, английским и сайтом на python+django. В итоге лежу на диване и пишу в жуик)))

Strephil

Начинаю потихоньку ненавидеть python.
Пока программу не запустишь, вообще не понятно, может это работать хоть как-нибудь.
Когда запускаешь, получаешь сообщение об ошибке, из которого вообще не понятно, что не так и что должно быть. :-(

Renha

а как мне из бродкаст-рассылки получить самое последнее сообщение? На python, например. Я даже думаю что отправка у меня быстрее чтения может быть.

пусть такой код например, что поменять чтобы он получил не следующее сообщение, а последнее?

from socket import *
s=socket(AF_INET, SOCK_DGRAM)
s.bind(('172.30.102.141',12345))
m=s.recvfrom(1024)
print m[0]