Главная Настройка Mobile Контакты NSFW Каталог Пожертвования Купить пасскод Pics Adult Pics API Архив Реквест доски Каталог стикеров Реклама
Доски


[Ответить в тред] Ответить в тред

Check this out!


[Назад][Обновить тред][Вниз][Каталог] [ Автообновление ] 569 | 51 | 154
Назад Вниз Каталог Обновить

Python thread Аноним 19/11/17 Вск 11:22:46  1094248  
image.png (3Кб, 272x256)
image.png (40Кб, 400x400)
F.A.Q. https://github.com/TheKnightsWhoSayNi/info/wiki/Hat

Свой код кидайте через https://ideone.com/

Книги и ссылка на PyCharm: https://yadi.sk/d/tArKKuQu3Kejuq

Предыдущий тред https://2ch.hk/pr/res/1087578.html
Аноним 19/11/17 Вск 11:24:03  1094250
GIL
Аноним 19/11/17 Вск 17:16:33  1094459
Суп, Питун. Есть один класс. Есть в нем переменная counter = 0. Есть функция, которая увеличивает ее при некотором условии на 1 (и в зависимости от его значения срабатывает всякая хуйня). В общем, я пишу в функции self.counter += 1, но это нихуя не работает. Срабатывает всегда условие counter == 0. Я уже и селфы эти убирал/переставлял местами, и global туда лепил, и все что хочешь. Что делать, Питун?
Аноним 19/11/17 Вск 17:20:36  1094461
>>1094459
КОД БЛЖАДЬ ТЫ БУДЕШЬ ПОКАЗЫВАТЬ ИЛИ НЕТ ПИДАРАСА ТЫ КУСОКМАМКУ ТВОЮ ЕБСУКА
Аноним 19/11/17 Вск 17:22:27  1094462
>>1094459
self.counter +=1
И
counter = 0
Это ж разные вещи.
Надо тогда и объявлять его как self.counter = 0
Аноним 19/11/17 Вск 17:57:12  1094483
>>1094462
А откуда там self-то? Я объявляю в пустом месте внутри класса. Если объявлять внутри функции по понятным причинам будет тоже самое. И к тому же твой довод не объясняет, почему условие if self.counter == 0 вообще работает.
Аноним 19/11/17 Вск 18:12:01  1094489
>>1094461
Ну охуеть. Это просто невообразимо сложный для представления код.
https://pastebin.com/7QgDrU0N
Аноним 19/11/17 Вск 21:14:13  1094625
А как в Django по-умному взять, например, десять постов из базы, и к каждому еще ровно по 3 комментария? Наверно как-то через группировку и count. Только я не знаю как.
Аноним 19/11/17 Вск 21:41:37  1094654
https://pastebin.com/HquvYJ0D

Как лучше всего ссылаться из OwnedBook на публикацию? Использовать genericforeignkey? Или есть третий, особый путь?
Аноним 19/11/17 Вск 21:43:38  1094658
>>1094654
Какая-то хуевая структура у тбея
Аноним 19/11/17 Вск 21:45:04  1094659
>>1094658
что конкретно тебе не нравится?
не писал год а когда писал то писал не лучше
Аноним 19/11/17 Вск 22:27:23  1094674
>>1094248 (OP)
Я скачал портейбл WinPython-64bit-3.5.4.0Qt5, внутри которого есть jupiter notebook.

Я запустил в жупите нотебуке следующий код:
https://ideone.com/SDJRWh

На что получил ответ:
ImportError: No module named 'ml_metrics'

Мой вопрос в следующем - как сделать так, чтобы жупите нотебук нашёл модуль имя которого 'ml_metrics'?
Аноним 19/11/17 Вск 22:42:00  1094680
>>1094459
>>1094489
Бамп.
Аноним 19/11/17 Вск 22:45:35  1094681
>>1094680
Что здесь >>1094654 не так?
Аноним 20/11/17 Пнд 00:15:40  1094701
>>1094483
Блять, ну ты ты ебанутый что ли?
>>1094483
Филтруешь из базы 10 тредов, из каждого треда берёшь посты в обратном порядке(начиная со свежего) и всего лишь 3, из общей кучи.
Аноним 20/11/17 Пнд 00:19:16  1094703
image.png (20Кб, 306x317)
image.png (23Кб, 306x307)
image.png (23Кб, 301x316)
>>1094701
Блять, пикчи проебал.
А вообще люди делают такую классную штуку, как __init__
Аноним 20/11/17 Пнд 00:20:13  1094704
>>1094701
>Филтруешь из базы 10 тредов, из каждого треда берёшь посты в обратном порядке(начиная со свежего) и всего лишь 3, из общей кучи.
Не, это классическая проблема N+1 получается.
Аноним 20/11/17 Пнд 00:31:26  1094706
>>1094704
>классическая проблема N+1
Я не в теме, пояснишь?
Аноним 20/11/17 Пнд 00:37:53  1094709
>>1094706
Ну ты для каждого треда делаешь один дополнительный запрос в базу, это неправильно. Представляешь какая нагрузка? Надо как-то через джойны это все делать, а я так давно не работал с обычным sql и джангой что забыл нафиг.
Аноним 20/11/17 Пнд 01:07:08  1094721
>>1094709
Ну может быть.
Можно ограничить кол-во тредов на страницу и всё.
Хотя подожду годно-ответа, пожалуй.
Аноним 20/11/17 Пнд 01:08:59  1094725
>>1094721
Неее, вообще не катит. Если ты дома себе делаешь, то ладно, но в продакшене это путь в никуда. Это базовая sql'ная вещь, надо знать. И мне в том числе.
Аноним 20/11/17 Пнд 01:13:55  1094728
>>1094701
>>1094703
> Блять, ну ты ты ебанутый что ли?
Нет, это Питун какой-то ебанутый. Ну ты же по сути скопировал мой код, если я в глаза не ебусь? У тебя работает, у меня нет.
> А вообще люди делают такую классную штуку, как __init__
Не знаю, что ты имеешь в виду в данном контексте, но я ее использую в других целях. У меня есть целое разнообразие функций pizda, и они все в нем вызываются, в общем, у меня этот класс просто как сборник функций.
Аноним 20/11/17 Пнд 02:20:23  1094762
image.png (10Кб, 324x181)
>>1094728
Скрин кода давай, может проебался где.
Питон какой?

>Не знаю, что ты имеешь в виду в данном контексте,
Вот это имею ввиду.
Аноним 20/11/17 Пнд 03:45:15  1094788
алло, питонобоги
скажите что возвращается у вас:

requests.get("https://hh.ru")

у меня 404, ничего не найдено
но оно есть в браузере
я пробовал куки добавлять, чтоб как в браузере, даже с авторизацией и все равно 404
что за дела, помогите
Аноним 20/11/17 Пнд 07:22:13  1094830
>>1094489
>Это просто невообразимо сложный для представления код.
Задача состоит в представлении конкретно твоего говнокода, чтобы найти в нём ошибки. И тут что-то самомму додумывать бесполезно, а ты, считай, просто сказал "ну у меня там тип что-то есь и вот если это делаю, то оно не работает".

counter = 0 делает переменную классовой. Ты можешь к этой переменной обратится через self у объекта класса. Однако, как только ты делаешь self.counter = ... (+= != ++, если что, переменная не инкрементируется, ей просто присваивается новое значение, равное сумме прошлого и правой части, по крайней мере для примитивных объектов), у инстанса класса появляется поле "counter"

>Срабатывает всегда условие counter == 0.
В выданном тобой коде — нет. https://repl.it/repls/ProudMessyBuzzard
Но ты, я полагаю, маленько обосрался и скопировал код не из своего "проекта", где, наверное, пытаешься эту классовую переменную использовать именно как классовую, пытаясь обращаться к ней и инкрементировать из многих инстансов.
Аноним 20/11/17 Пнд 09:36:24  1094854
>>1094830
Т.е. Объявление переменной в теле класса, без явного указания вхождения в его 'неймспейс' (я хз, правильно ли сформулировал) это посути заглушка, на случай обращения к этому аттрибуту? В чем профит по сравнению с объявлением в конструкторе в виде self.my_var.
Аноним 20/11/17 Пнд 10:12:17  1094862
https://github.com/KOLANICH/Pipeline.py
https://github.com/KOLANICH/RichConsole
https://github.com/KOLANICH/HDDModelDecoder.py
https://github.com/KOLANICH/Cache.py
https://github.com/KOLANICH/NoSuspend.py - untested on linux
https://github.com/KOLANICH/bind.py - just a mad experiment. In fact it is sometimes slower.
Аноним 20/11/17 Пнд 10:26:36  1094864
>>1094854
> это посути заглушка
Нет. Это классовый атрибут.
>В чем профит по сравнению с объявлением в конструкторе в виде self.my_var.
В том, что это один общий на все инстансы атрибут получается. https://repl.it/repls/OldDarksalmonBarnowl
Аноним 20/11/17 Пнд 10:28:59  1094865
https://repl.it/@anon73/PlushMysteriousAzurevasesponge

Есть один скрипт, и он хорошо работает, но медленно, все изза того что там есть sleep. Пытался в многопоточность, но никак не могу понять как все работает, а сделать надо было еще вчера. Анон посмотри пожалуйста код.

Есть список данных, большой десятки тысяч значений. Каждое значение подается в функцию. В функции высчитывается кое что, sleep 5 секунд, еще раз высчитывается и если полученное значение больше разрешенного минимума - пишет в бд. Работает это все хорошо но дико медленно вот захотел прикрутить многопоточность. Простота тут в том что данные между потоками не перемещаются интересен только результат. Я вообще все правильно сделал?
Аноним 20/11/17 Пнд 10:46:45  1094867
>>1094865
Не нужен там sleep.
Аноним 20/11/17 Пнд 11:05:25  1094870
>>1094867
Он для функции нужен. Я не хотел расписывать что функция делает что бы пост не засорять. Там просто для примера sleep print . Sleep значит что исполнение функции с каждым поданным параметром занимает некоторое время. От того если просто запускать многопоточно ее то потоки должны сами закрываться через определенный промежуток времени, завала не будет, думаю даже ограничение по потокам не нужно (да и я еще не понял как его делать).

Я как то месяца 3 назад корпел над мультипроцессингом и у меня ничего не вышло, что то вот осталось в голове из того собрал. Еще помню данные надо было в буфер как то писать что ли что бы не захлебнулась БД, но в моем случае данных на выходе будет очень мало, и вероятность захлеба крайне мала. На крайняк в список соберу и потом уже запишу.
Аноним 20/11/17 Пнд 12:15:49  1094888
https://ideone.com/L4v3hg

Здравствуйте, подскажите, пожалуйста, что такое decimal = "," ?

Аноним 20/11/17 Пнд 12:31:00  1094890
>>1094888
>что такое decimal = "," ?
https://pandas.pydata.org/pandas-docs/stable/generated/pandas.read_csv.html
Аноним 20/11/17 Пнд 12:33:11  1094892
>>1094489
> невообразимо сложный для представления
>статический counter пачиму не работает через селф
мхех
Аноним 20/11/17 Пнд 12:35:11  1094894
>>1094890
Чёрт, а я на русском искал
Аноним 20/11/17 Пнд 12:35:35  1094896
Я лох корочё
Аноним 20/11/17 Пнд 12:36:11  1094897
>>1094890
Спасибо
Аноним 20/11/17 Пнд 12:37:42  1094898
>>1094870
>данные надо было в буфер как то писать что ли что бы не захлебнулась БД
master-слейв + размазывание запросов по времени
шардинг
Аноним 20/11/17 Пнд 12:40:51  1094901
>>1094865
>>1094870
z=[[ 1, 2, 3],[4, 5, 6],[7, 8, 9]]

def test(t1):
time.sleep(5)
print(str(t1[0]),str(t1[1]))

with Pool(10) as p:
p.map(test,z)

Вот еще вариант. map как я понял сама перебирает значения из списка и подает в функцию с каждым потоком. Тут контроль потоков уже есть, вроде как работает.
Аноним 20/11/17 Пнд 12:42:37  1094902
>>1094865
> sleep 5 секунд
уже ведь async/await в 3.6 завезли, почему не перейдешь?
Аноним 20/11/17 Пнд 12:56:10  1094912
>>1094902
Да он просто имитирует время работы некой тяжёлой функции, при чём тут асинк вообще? Ему это с нехваткой производительности никак не поможет же в любом случае.
Аноним 20/11/17 Пнд 13:20:51  1094922
>>1094865
Если есть список данных и ты весь его юзаешь - попробуй использовать map.
Аноним 20/11/17 Пнд 13:37:28  1094924
>>1094922
Ну вот с ним я выше написал.
>>1094901
Вот эти две строки в мое случае все что мне нужно? Да список, список сформирован из значений взятых с бд.
Аноним 20/11/17 Пнд 14:55:42  1094952
Доброго времени, а есть ту хохлы, которые ликпей к своему говносайту подключали?
Что за хуйня, я нихуя не понимаю, доков нормальных нет, СДК для питона какое-то говно, там ещё импорт неправильный был и принт без скобочек.
Короче, что там на фронте надо писать? Может пример у кого-то есть?

https://github.com/liqpay/sdk-python
Аноним 20/11/17 Пнд 16:01:04  1094976
>>1094248 (OP)
Посоны, хули эта ебала некоректно работает?
https://ideone.com/MUpIbe
Должно рандомить слово и находить количество совпадений символов с заданным словом.
Аноним 20/11/17 Пнд 16:06:01  1094979
Анон, зачем нужны условные переменные threading.Condition(), если там же есть мьютексы? Где и как эти переменные применяют на практике?
Аноним 20/11/17 Пнд 16:37:11  1094992
>>1094979
>Где и как эти переменные применяют на практике?
Отправил сообщение в другой поток без ожидания ответа, потом перешёл к ожиданию.
Аноним 20/11/17 Пнд 19:44:08  1095102
https://career.ru/vacancy/23348385
Хосспаде, почему я не в дс?
Аноним 20/11/17 Пнд 20:42:46  1095125
14287597208140.jpg (240Кб, 810x2709)
Суп, программач. Скажи мне пожалуйста, пистрон годится для шубуршания в памяти процесса? Считывание адресов, байтов и т.д.
Аноним 20/11/17 Пнд 21:12:36  1095140
>>1094762
> Скрин кода давай, может проебался где.
Блядь, проебался. Дело в том, что у меня класс пересоздается всегда. Ну пиздос, теперь придется делать внешнюю переменную, а ведь изначальная идея этого класса - собрать весь мусор одного типа в одну кучу, чтоб не мешался. Или этого можно как-то избежать?
Аноним 20/11/17 Пнд 21:20:11  1095144
>>1094924
Попробуй multiprocessing.dummy(или типа того)
Аноним 20/11/17 Пнд 21:23:17  1095145
>>1094654
Бумп вопросу
Как вы поступаете если есть две сущности с общим родителем делаю абстрактной моделью например, или через ссылку на родителя и в дальнейшем нужно получать датасет из абстрактной модели обоих сущностей?
Аноним 20/11/17 Пнд 21:24:00  1095146
>>1095140
Полный код давай, не стесняйся.
Аноним 20/11/17 Пнд 23:05:40  1095202
>>1095146
Стесняюсь.
Аноним 20/11/17 Пнд 23:23:02  1095209
>>1095202
Ну тогда ничем не могу помочь.
Аноним 21/11/17 Втр 01:29:31  1095270
Так, это снова я с оплатой через хохлятский пейпал.
Дело идёт, только есть одна проблема.

a bytes-like object is required, not 'str'
Вызывает эту проблему
signature = liqpay.cnb_signature(params)
сам cnb_signature Представляет из себя
params = self._prepare_params(params)
data_to_sign = self.data_to_sign(params)
return self._make_signature(self._private_key, data_to_sign, self._private_key)

Но как я понимаю, сама проблема именно в в методе data_to_sign, который состоит из одной линии:
return base64.b64encode(json.dumps(params))

В доках про bytes-like object пишут This includes all bytes, bytearray, and array.array objects

Сами params приходят такие

{'action': 'pay', 'amount': '100', 'currency': 'USD', 'description': 'Payment for clothes', 'order_id': 'order_id_1', 'version': '3', 'sandbox': 1, 'server_url': 'https://test.com/billing/pay-callback/'}

Вопрос, что я делаю не так, учитывая, правда, то, что весь код взят прямо из примера в документации?

Аноним 21/11/17 Втр 01:56:29  1095275
>>1095270
Пример видимо для второго пифона.
Аноним 21/11/17 Втр 01:59:33  1095277
>>1095275
Да, сука, я только что сам понял, охуеть.
Там и библиотека установилась для второго, я наверное, догадаться должен был, что pip install liqpay-python3.
Или это в порядке вещей и я реально даун?
Аноним 21/11/17 Втр 02:11:18  1095280
>>1095277
> Или это в порядке вещей
Нет, это хуета какая-то. Так обычно в линуксовых пакетных менеджерах называют пакеты. На pypi (до этого момента) такого не встречал.
Аноним 21/11/17 Втр 02:18:35  1095284
>>1095280
Честно, я просто охуеваю.
pip install liqpay-python3 устанавливает версию 1.1.1, в которой ещё и нет одного из методов, который у них в примере, на гите у них для 3 питона написана версия 1.0, при этом pip install liqpay-python3==1.0 говорит, что такой нихуя нет, а выбор только 1.1 и 1.1.1
Аноним 21/11/17 Втр 02:28:46  1095288
>>1095284
Ладно, хорошо, а может мне кто-то подсказать как инстальнуть из гита именно 3 версию
https://github.com/liqpay/sdk-python
Там папка liqpay и в ней liqpay3.py и liqpay.py
pip install git+https://github.com/liqpay/sdk-python#egg=liqpay
pip install git+https://github.com/liqpay/sdk-python#egg=liqpay3
устанавливает версию для второго
Аноним 21/11/17 Втр 03:11:30  1095296
>>1095140
>Или этого можно как-то избежать?
Ну ты можешь, например, захуярить всё классовыми методами: https://repl.it/repls/RedFortunateIndianrhinoceros

Это всё, что я могу посоветовать не видя твоего кода и возможности исправить саму необходимость такого изврата.
Аноним 21/11/17 Втр 03:15:12  1095297
>>1095288
Во-первых, у них там при импорте всё должно чпокаться заебись. https://github.com/liqpay/sdk-python/blob/master/liqpay/__init__.py
Во-вторых, выглядит так будто liqpay-python3 на pypi поделка какого-то васяна, которая к https://github.com/liqpay/sdk-python не имеет отношения. Проверь всё ещё раз, ёпту.
Аноним 21/11/17 Втр 03:24:02  1095302
.png (259Кб, 1680x1050)
>>1095297
Со вторым согласен, но первое не работает, я проверял много раз, что там проверить можно-то?
Аноним 21/11/17 Втр 03:24:54  1095303
>>1095288
Скачай репу да запусти python3 setup.py install вручную. Можешь предварительно liqpay.py удалить вообще.
Аноним 21/11/17 Втр 03:27:20  1095304
>>1095302
Так он оба файла тебе в либу устанавливает, у тебя liqpay3.py тоже должен быть, и при import liqpay нужный и выберется же.
Аноним 21/11/17 Втр 03:31:43  1095306
>>1095304
Нужный не выбирается, потому что не работает код, плюс я по ссылке перехожу же из пишарма и он ведет меня на этот ликпей.
Я пробовал просто менять код из репы и тогда всё работает.
Или я чего-то не понимаю?
>>1095303
Сейчас попробую.
Аноним 21/11/17 Втр 03:40:07  1095310
.png (185Кб, 1104x752)
>>1095303
Тоже не работает, очевидно поставилась вторая, потому что
from urlparse import urljoin
а не
from urllib.parse import urljoin
Аноним 21/11/17 Втр 03:40:59  1095312
>>1095310
>поставилась вторая
Они "ставятся" обе сразу. Импортируется нужная динамически по версии пифона.
Аноним 21/11/17 Втр 03:41:44  1095313
>>1095312
Ну там же написана версия 3.6, почему тогда для 2.7 импортируется?
Аноним 21/11/17 Втр 03:42:38  1095314
>>1095310
> from liqpay.liqpay import ...
Бля, ну ты долбоёб что ли?! Тебе написали лопату, чтобы ты импортировал из liqpay и не лез дальше. Нет, хочу жрать говно руками, а не с лопаты! И это программисты?! Мудачьё!
Аноним 21/11/17 Втр 03:44:30  1095315
.jpg (59Кб, 1280x720)
>>1095314
бля
Аноним 21/11/17 Втр 03:46:16  1095318
>>1095314
>>1095315
Хотя хуй знает, с консоли всё работает, а пишарм говорит что не может импортировать и ошибку выдает
Аноним 21/11/17 Втр 03:50:06  1095320
>>1095318
Ну, значит пичарм к такому не готов.
Аноним 21/11/17 Втр 03:51:53  1095323
>>1095320
Только что всё переставил через setup.py и работает, спасибо, анон
И сорян за мою глупость.
Аноним 21/11/17 Втр 04:19:23  1095331
Антон, а как вообще в реализации кастомных TCP/IP протоколов годно сами пакеты формировать?
у меня есть несколько классов-оберток, например, ну и в сокет надо нахуярть это все в бинаре, варианты, типа:
"{0:c}{1:c}".format(ord(somebyte), ord(someotherbyte))
и их модификации со всякими битовыми сдвигами если нужно передать WORD/DWORD -- вот это вот все, чую что строкой с форматом это какой-то дикий костыль.
курить struct? или это ваще мимо?
Аноним 21/11/17 Втр 04:30:29  1095334
>>1095331
https://pythonistac.wordpress.com/2017/03/09/python-network-packet-dissection-frameworks-shootout-scapy-vs-construct-vs-hachoir-vs-kaitai-struct/
Аноним 21/11/17 Втр 04:32:21  1095336
>>1095331
"This can be used in handling binary data stored in files or from network connections, among other sources." по-ходу оно. первый вопрос снят. теперь если у меня в пакете битовые поля, например два по четыре - чо только побитово двигать и суммировать? или и для битовых полей есть чо?
Аноним 21/11/17 Втр 09:07:50  1095394
>>1094901
Провел ядерные испытания. Скрипт захлебнулся, просто повис. Подозреваю что тут либо дело в том что запущено с виртуалки либо что то в теле скрипта ему мешает, пробовал убирать почти все функции становилось лучше, но все равно зависает, чуть позже. Что самое интересное отрабатывает в 2 потока нормально, в три виснет. У меня еще сеть задействована может какие то ответы на запросы не получает и затыкается. А еще момент если например вместо 1000 элементов в списке подать 100 и вьебать 25 потоков то он пулей выполнит, а если поставить 3 потока и из 250 элементов список то он повиснет, а бывает дорабатывает. Но если после того как он отработал снова запустить то он быстро повиснет. Как будто лимит какой то на данные. Память на виртуалке не нагружена, диск тоже, проц свободен. Либо сетевуха захлебывается, но нереально в 3 потока там данных крохи. Короче результат как бы там ни было есть - в 2 раза я его ускорил. Будем учиться, читать мать часть и прочее, разберемся. Спасибо всем кто помогал.
Аноним 21/11/17 Втр 12:13:59  1095431
Господа питонисты, небольшая группа анонасов решилась актуализировать старую библиотеку для упрощения работы с api двача. Половина пути пройдена, но нам нужна помощь с завершением и возможно пересмотром архитектуры библиотеки. Будем рады любой помощи. Писать в телегу @dexofan или @lorem_ipsumxxx
Аноним 21/11/17 Втр 12:47:09  1095439
>>1095431
Без сорцов пройди нахуй.
Аноним 21/11/17 Втр 12:47:58  1095441
>>1095439
https://github.com/anonim-legivon/dvach.api
Аноним 21/11/17 Втр 12:53:13  1095445
>>1095441
Уже лучше, гляну потом.
Аноним 21/11/17 Втр 12:54:42  1095446
>>1095445
В телегу только напиши, добавлю в конференцию.
Аноним 21/11/17 Втр 12:57:07  1095448
>>1095446
Рекомендую TODO-файлик написать.
Аноним 21/11/17 Втр 13:02:47  1095452
>>1095448
Это довольно сложно, по возможности todo есть в api.py. Вся разработка будет на ветке dev. Смотреть там.
Аноним 21/11/17 Втр 13:04:54  1095456
>>1095448
>>1095452
А вообще нужно допилить грамотную отправку сообщений и класс-payload для них, прикрутить работу с пасскодами и написать обработчик исключений, потом логгирование. Ну и помимо этих целей как фикс багов (похоже не все работает так, как ожидается) и допил нового функционала.
Аноним 21/11/17 Втр 13:10:11  1095461
>>1095456
Угу, понял, помогу.
Аноним 21/11/17 Втр 13:10:34  1095463
>>1095461
Пасиб :*
Аноним 21/11/17 Втр 13:30:33  1095481
>>1095456
>прикрутить работу с пасскодами
Логгер пасскодок не забудьте.
Аноним 21/11/17 Втр 13:32:45  1095483
>>1095481
Не, зачем. Попенсорс же))0
Аноним 21/11/17 Втр 14:14:53  1095504
>>1095483
Так вы ж так мастерство покажете своё, в опенсоре логгер спрятать!
Аноним 21/11/17 Втр 16:39:35  1095568
>>1095441
> https://github.com/anonim-legivon/dvach.api/blob/dev/api2ch/utils.py
> return sum(boards_dict.values(), [])
Говно
> __version__ = '0.0.5.5'
Говно
> requests
Говно
> Хардкод методы
Говно
> js = requests.get(url).text
> return json.loads(js)
Говно
> class Post(object):
Говно
> for key, value in post.items():
> setattr(self, key, value)
Говно

Ну будьте людьми! 2017 год, делайте sans-io с sync/async бекендами, делайте динамические методы и высокоуровневые обёртки или вообще без них (достаточно addict). Всё равно ваше говно никому не нужно
Аноним 21/11/17 Втр 16:48:06  1095573
>>1095568
Ну так присоединяйся и помоги, мы нафани.
Аноним 21/11/17 Втр 16:53:27  1095575
>>1095394
>сетевуха захлебывается
подними лимит на дескрипторы, там по дефолту вроде всего 65к
Аноним 21/11/17 Втр 17:04:00  1095576
>>1095568
Что не так с хард код методами и как их заменить? Что не так с классом Post и как фиксить?
Аноним 21/11/17 Втр 17:13:07  1095578
>>1095573
Нет!
>>1095576
> Что не так с хард код методами и как их заменить?
Это же api! Нахуя делать мимик методы api? Просто повесьте на __getattr__ генерилку методов и всё.
> Что не так с классом Post и как фиксить?
Нахуя он наследуется от object?
Аноним 21/11/17 Втр 17:27:32  1095585
Какая у кого зп?
Аноним 21/11/17 Втр 18:38:02  1095619
>>1095441
Ребятки, посмотрите, как сделан vk_api. Вам стоит сделать нечто похожее.
Аноним 21/11/17 Втр 23:18:47  1095807
Смотрите какая yoba! Свеженькая!
https://github.com/encode/apistar
Еще и с asyncio. Взлетит?
Аноним 21/11/17 Втр 23:25:46  1095816
>>1095807
define "взлетит"
Аноним 22/11/17 Срд 01:31:22  1095880
>>1095578
От api одно название, посмотри сам и подивись
>Нахуя он наследуется от object?
архаизм, поправили
Аноним 22/11/17 Срд 03:25:26  1095905
Поясните как запилить корзину в магазине.
Есть класс бейсед вью DetailView с продуктом, в котором я создал метод post, чтобы отправлять форму с количеством продуктов, размерами и прочим.
Смотрю в сторону сессий, но нихуя не могу понять почему у меня счетчик каждый раз обнуляется. Вот говнокод
https://pastebin.com/Le7JPdbc

Может надо вью другой использовать? И ещё как мне вернуться на ту же самую страницу красиво, потому что последняя строка не работает, говорит нет object.

Хотя мне вообще кажется что я какую-то хуйню делаю, так что если кто-то подскажет, то буду крайне признателен.
Аноним 22/11/17 Срд 03:27:32  1095906
>>1095905
Форма там просто по модели продукта с тремя полями, в request.post приходит вот такое
{'color': '3', 'size': '2', 'count': '2', 'csrfmiddlewaretoken': 'EumG12uNICe2q6iUx91KNJV1nti5XL5uNHznFMwNG5MGBV6y'}
Аноним 22/11/17 Срд 08:33:05  1095940
>>1094248 (OP)
Анан, есть мнение, и не только мое, что с опредленным незавидным бекграундом в веб на питоне имеет смысл соваться только как уже миддл разработчику. Теперь мой вопрос: как мне узнать что я уже мидол? Есть ли гост какой, что должен знать и уметь мидл?
Аноним 22/11/17 Срд 10:50:52  1095968
>>1094248 (OP)
Анон, подкинь идей для проекта, чтобы освоить ооп и наследование?
Аноним 22/11/17 Срд 10:53:53  1095970
>>1095968
запили сабстанс дизайнер на нодах блендаря, я накутю если чо
Аноним 22/11/17 Срд 10:56:18  1095971
>>1095970
>на нодах блендаря
Это где-то под Москвой?
Аноним 22/11/17 Срд 10:59:45  1095973
image.png (437Кб, 640x480)
>>1095971
нахуй дрочить писун если не ради блендаря!?
Аноним 22/11/17 Срд 11:00:34  1095974
>>1095973
Ради вебчика. Нахуй нужно 3д если есть 2д?
Аноним 22/11/17 Срд 11:06:41  1095976
Я там где мокрый бетон
Обвивает трубы кольцами
Как французский батон
В подворотне притон
Оставь дома свой берберри виттон
У удали с ноута два-семь питон
Аноним 22/11/17 Срд 11:08:00  1095977
>>1095974
>2д
для пидоров, поверь мне, ничего там хорошего нет, вообще везде где просто, осядают тупые пёзды и ванильные хуи из обеспеченных семей, похуй вообще на конкуренцию, тебе тупо пообщаться не с кем

а для вебчика ничего кроме модного молодежного жса нинужно, еще лет 5, ясрипт научится понимать человескую речь и наступит ренесанс мира высоких технологий лол
Аноним 22/11/17 Срд 11:08:50  1095978
>>1095976
красиво стелишь фраерок
Аноним 22/11/17 Срд 11:09:55  1095979
>>1095977
>вообще везде где просто, осядают тупые пёзды
ПАНЧ
Аноним 22/11/17 Срд 11:10:42  1095980
>>1095977
>а для вебчика ничего кроме модного молодежного жса нинужно

Ну не траль плиз? Зачем так говоришь
Аноним 22/11/17 Срд 11:14:17  1095982
>>1095979
>ПАНЧ
зря теряю с тобой время

>>1095980
>Зачем так говоришь
потому что жс везде, он свободный и живой, он развивается вместе с нами, под наши стремительно развивающиеся же задачи, это лучшая абстракция которую создало человество после ислама
Аноним 22/11/17 Срд 11:16:06  1095984
>>1095982
Ислам это абстракция над чем?
А за апокалиптические жс-бредни тебя надо в психушку сдать.
Аноним 22/11/17 Срд 11:17:54  1095985
>>1095977
Еще лет пять, и все бизнес задачи будут решать нейроночки писанные нейроночками, а люди будут ползать по шею в мазуте и радиоктивном пепле
Аноним 22/11/17 Срд 14:14:55  1096041
>>1095461
Ну что, анончик? Чего на связь не выходишь?
Аноним 22/11/17 Срд 15:21:04  1096082
Сап анчоусы, хелпаните хотя-бы в теории:

надо придумать скрипт, который будет слушать сеть и принимать запросы, например json-rpc или что-нибудь подобное.
Он будет принимать IP куда поставить и текст плейбука
и запускать с этими данными
главное, чтобы можно было вызвать его из руби
Аноним 22/11/17 Срд 16:29:10  1096118
Анон, посоветуй книгу( желательно на рус) пo Django
Аноним 22/11/17 Срд 17:01:28  1096136
>>1094703

попробуй писать Huy.counter
Аноним 22/11/17 Срд 17:14:41  1096139
>>1096136
Зойчем?
Аноним 22/11/17 Срд 17:18:47  1096141
Помогите ньюфагу. Хочу написать генератор пароля.
Сперва юзер вводит число(длину пароля) от 5 до 20
Затем это число определяет длину пароля, сам пароль состоит из рандомных числе от 0 до 9 соответственно
Аноним 22/11/17 Срд 17:52:18  1096162
>>1096139

зотем что это переменная класса а не экземпляра класса, и обращатся к ней нужно не через имя экземпляра а через сам класс
Аноним 22/11/17 Срд 17:53:53  1096164
>>1096141
>
>

создаешь строку из символов, потом выбираешь random.choice(строка) из строки случайный элемент и прибавляешь его к строке - поролю
Аноним 22/11/17 Срд 18:00:57  1096168
>>1094248 (OP)
Поделитесь как вы пишете код. Вот стоит перед вами задача. Какие действия вы совершаете в первую очередь, какие потом и так далее.
Аноним 22/11/17 Срд 19:01:32  1096192
>>1096168
>как вы пишете код
тебе нужно посмотреть ролики картавых хохлов с ютуба, про введение в программирование, прежде чем учить синтаксис нужно понять почему это вообще так, а не по другому

мне очень помогло все окончательно упорядочить

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

самое главное тут поставить чоткую задачу, а не просто подрочить, потому как дрочь бесконечен и радости там нигде нет
Аноним 22/11/17 Срд 20:11:06  1096236
Я ньюфаг. Пытаюсь в Рython, и основы вроде бы освоил.
Можете вкратце рассказать о том как блять пользоваться GTK?? Я уже неделю пытаюсь с ним разобраться и так с места и не сдвинулся. Пытаюсь юзать GoGTK. Уроков катастрофически мало, а по тому что есть, вылезают какие-то ебанутейшие ошибки.
Вобщем с чего начать изучение PyGTK?
Аноним 22/11/17 Срд 20:14:01  1096238
https://ideone.com/O1awo3

Где я обосрался Анонче?

-учу_питон_2_день-кун
Аноним 22/11/17 Срд 20:15:50  1096240
>>1096238
self'ы проебал, и все базовые классы всегда от objecta'a наследуй
Аноним 22/11/17 Срд 20:17:24  1096242
>>1096240
Куда эти self'ы писать то?
Аноним 22/11/17 Срд 20:21:41  1096246
>>1096242
Ладно пойду книжки почитаю, тут явно с наскока с опытом только в паскале не осилить.
Аноним 22/11/17 Срд 21:52:53  1096293
пистон.png (91Кб, 260x295)
>>1096240
> и все базовые классы всегда от objecta'a наследуй
Аноним 23/11/17 Чтв 00:20:32  1096350
>>1096240
Это только для питон 2
Аноним 23/11/17 Чтв 00:20:32  1096351
Уважаемые питонисты, решил из интереса подрочить отрисовку графики
В стандартной библиотеке присутствует что-нибудь для этого, кроме turtle?
Интересуюсь в целях собственного аутизма
Аноним 23/11/17 Чтв 00:35:22  1096357
1 (2).png (24Кб, 1291x270)
https://ideone.com/frujya

Здравствуйте, я хочу запустить код из статьи с сайта habrahabr

https://habrahabr.ru/post/206306/

И когда запускаю, то получаю ошибки на приложенной картинке. Как пофиксить? Скажите, пожалуйста.
Аноним 23/11/17 Чтв 00:38:22  1096362
>>1096357
P.S. Если что, то csv файл по этой ссылке:
http://dropmefiles.com/xkFUD
Аноним 23/11/17 Чтв 02:43:24  1096375
>>1096351
тикель жи
Аноним 23/11/17 Чтв 10:03:18  1096435
>>1096236
Аноним 23/11/17 Чтв 11:53:31  1096457
Хочу захуячить бота в одной игре(не браузерка). С чего мне начать?
Аноним 23/11/17 Чтв 12:51:05  1096477
>>1096457
Просниффай трафик Wireshark'ом, например.
Аноним 23/11/17 Чтв 16:39:48  1096620
поясните почему не работает простенький парсер
https://ideone.com/llETMx
Как я понимаю проебался с работой файла, то ли он вообще не видит файл, то ли не видит там строки
сам код работал, если вставлять не файл, а пример одной строки
Аноним 23/11/17 Чтв 16:51:41  1096629
>>1095575
Анон подскажи пожалуйста про что ты. Я не знаю что это. Нашел какие то лимиты на дескрипторы обращения к файлам но это не то же? Именно с сетью что то связано? Такого не нашел.
Аноним 23/11/17 Чтв 18:04:40  1096666
поправил парс, вот https://ideone.com/5C2zM5
но парит только первую строчку в файле, как по остальным пойти
Аноним 23/11/17 Чтв 18:20:55  1096674
110101010101.PNG (21Кб, 786x244)
Django
Одна и та же ошибка при попытке вывода сайта в домашней директории, что до создания html документа, что после. Что я не так сделала?
Аноним 23/11/17 Чтв 20:05:22  1096734
изображение.png (158Кб, 800x545)
>>1096674
ребят, ну помогите пожалуйста
я сейчас психану, перерыла по этой ошибки статьи, но там все сводится к действиям которыя я не совершала
Аноним 23/11/17 Чтв 20:07:06  1096735
>>1096674
Блджад, тупые сельди не могут в программирование.
Тебе черным по желтому написано: ШАБЛОН НЕ НАЙДЕН
Аноним 23/11/17 Чтв 20:07:24  1096736
Посоны, а как из C расширения вернуть в питон массив си-типа, а конкретно ctypes.c_float?

Суть вот в чём: есть одно OpenGL приложение с использованием pyglet'а. Расчёт всякого дерьма и возврат тупла с координатами вершин делается в C, занимая почти нихуя времени. Далее есть VertexBufferObject, в который можно передать массив GLfloat'ов (что является тем же ctypes.c_float'ом) и отрисовать, этот шаг тоже занимает почти нихуя. Но вот переделка из тупла в массив c_float'ов в самом питоне занимает оче много (раза в 4 больше всего остального), и хотелось бы как-то оптимизировать этот шаг. Возможно, тогда и первый упростится, ведь создавать PyTuple и уже не надо будет.
Аноним 23/11/17 Чтв 20:50:43  1096769
>>1096735
>тупые сельди не могут в программирование.
Может это ты глуп?
Я чётко указала что шаблон создан и путь к нему указан, а ты и капитан очевидно гугл транслейт моего скриншота копируешь.

Я первый день осваиваю python и django, меньше агрессии, тем более в разделе ДЛЯ НОВИЧКОВ!
Аноним 23/11/17 Чтв 20:52:13  1096770
>>1096769
Или что ты мне сделаешь, шлюха?
Без полного кода ты, как обычно, соснешь хуй.
Аноним 23/11/17 Чтв 20:54:34  1096773
>>1096770
жизнь с тобой уже достаточно сделала, что бы мне не трудится.

должен ты ведь знать примерные причины из-за которых не выводится созданный html шаблон
https://tutorial.djangogirls.org/ru/html/ делаю по этому руководству точь в точь, смысла кидать код нету. Я уже отладку запускала, всё в ноль
Аноним 23/11/17 Чтв 21:01:21  1096775
>>1096773
>должен ты ведь знать примерные причины из-за которых не выводится созданный html шаблон
Примерные причины тебе сама джанга уже написала. Неси код, ёпту. Тут не раздел новичков, если чо.

>смысла кидать код нету.
Cмысла помогать, выходит, тоже? Может у тебя там опечатка где-то, чёрт возьми.
Аноним 23/11/17 Чтв 21:01:37  1096776
>>1096773
Бгг, даже русского языка не знает. Есть подозрение, что и в английский не может, а ведь ещё и сюда лезет!

Ага, должен. Таких примерно ∞, вплоть до погоды на Марсе. А это не погугли-за-анона-тред.
Аноним 23/11/17 Чтв 21:07:51  1096783
>>1096674
'DIRS': [os.path.join(BASE_DIR, 'templates')]

в настрйоках там где темплейты
Аноним 23/11/17 Чтв 21:08:25  1096784
>>1096783
Хуя ты экстрасенс.
Аноним 23/11/17 Чтв 21:09:52  1096787
>>1096784
Ну а хули варианта 2 либо так, либо неправильно директории создала
Аноним 23/11/17 Чтв 21:11:53  1096792
>>1096787
Ну, тащемта нет... >>1096776

Вообще, первым делом приходит в голову вариант с кривой спермой.
Аноним 23/11/17 Чтв 21:16:17  1096796
Здравствуйте, скажите, пожалуйста, полиномом какой степени можно более-менее смоделировать экспоненту? Степень желательно как можно меньше.

Я смотрел видео и там нейронка подобрала полином 3 степени для синусоиды. Подскажите, для экспоненты степень какая подойдет?
Аноним 23/11/17 Чтв 21:18:21  1096801
>>1096792
Давай тогда код сюда и темплейты должны быть в одной директории с manage.py templates/blog/post_list.html
Аноним 23/11/17 Чтв 21:19:05  1096803
>>1096801
Ты промахнулся реплаем.
Аноним 23/11/17 Чтв 21:55:45  1096871
изображение.png (544Кб, 1200x891)
>>1096801
>>1096783

спасибо, попробую разобраться.

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

Аноним 23/11/17 Чтв 21:59:37  1096875
>>1096871
Для Гита фронтенд типо SourceTree ставь, рановато тебе ещё.
Там Commit и Push.
Аноним 23/11/17 Чтв 22:11:05  1096879
>>1096875
>>1096801
>>1096783
>>1096735
Он прав, я тупая сельдь
Прописав в views путь к хтмл документу, не дописала само расширение "html" а лишь имя файла
простите
Аноним 23/11/17 Чтв 22:39:07  1096887
Как запилить единый бинарный файл?
Аноним 23/11/17 Чтв 22:48:09  1096893
>>1096887
Под какую платформу хоть?
Аноним 23/11/17 Чтв 22:56:51  1096904
>>1096893
Под винду 10.
Аноним 23/11/17 Чтв 23:00:57  1096907
>>1096375
Можно точное название? Не могу найти
Аноним 23/11/17 Чтв 23:15:39  1096918
S71123-23144689.jpg (181Кб, 1080x1020)
>>1096907
Tk/Tcl. Сразу говорю, гиблое дело. Лучше какой-нибудь wxPython.

>>1096904
Пикрил.
http://docs.python-guide.org/en/latest/shipping/freezing/
Аноним 23/11/17 Чтв 23:16:27  1096920
>>1096907
>>1096918
А, и он не факт, что под никсами в составе std поставляется, так что это не искаропки работает.
Аноним 23/11/17 Чтв 23:19:42  1096921
>>1096918
>Пикрил.
спасибо, няш
Аноним 24/11/17 Птн 02:19:16  1097005
for a in description:
for q in description[a]:
print(q)

как написать такой код в джанго темплейтах, учитывая, что description это словарь, а description[a] это список
Аноним 24/11/17 Птн 02:24:19  1097007
2017-11-24.png (47Кб, 1082x711)
>>1096918
>гиблое дело
ребятам з галандии ток нигавари
Аноним 24/11/17 Птн 02:45:40  1097012
>>1096918
>какой-нибудь wxWidgets
и да, вот уж что сука настоящее тлен и безысходность
Аноним 24/11/17 Птн 06:53:33  1097039
>>1096736
Сделал malloc для массива float'ов и возвращаю адрес прямо в питон (VBO как раз указатель на массив и просит).
Это совсем пиздец или по-другому никак? Работает всё супер-быстро, мне нравится.
Аноним 24/11/17 Птн 08:33:44  1097052
>>1097007
Молодцы, осилили, хуле. Для простых задач эта поебень слишком гибкая.
Аноним 24/11/17 Птн 08:54:42  1097057
>>1097052
лолшто
Аноним 24/11/17 Птн 09:01:20  1097059
>>1094248 (OP)
Test
Аноним 24/11/17 Птн 09:03:57  1097060
>>1097057
А, так ты ей не пользовался.

>>1097059
→ /test/
Аноним 24/11/17 Птн 09:55:48  1097073
pyqt1.JPG (41Кб, 797x639)
Наконец-то появилось желание разобраться с PYQT5 и скажу вам - это офигено. Отлично поддерживается pyinstaller, успешно заворачивается в exe. На юниксе еще не пробовал. Заметил еще такую вещь, что сейчас библиотеки лучше протестированы на третьем питоне 64bit.
Аноним 24/11/17 Птн 10:13:13  1097075
>>1097073
Не поможешь мне разобраться? Хотя бы какие-то основы. Вкинь свой мэил или напиши сюда MuuNu@yandex.ru
Аноним 24/11/17 Птн 10:41:34  1097082
>>1096920
>не факт, что под никсами в составе std поставляется
в пайтоне есть, там не биндинг а реализация
Аноним 24/11/17 Птн 10:46:42  1097085
>>1096875
>рановато
Что там рановато? Запомнить 6 комманд init, pull, push, commit, rebase, checkout?
ебать сложна
Аноним 24/11/17 Птн 10:53:04  1097089
>>1096629
> но это не то же?
Хз, по тому что ты описал, мне кажется словно у тебя превышение лимита дескрипторов на процесс, абстрактно пишешь.
Аноним 24/11/17 Птн 11:01:18  1097091
>>1096796
Ты тролешь? На бесконечности всегда экспонента будет расти быстрее полинома. А значит, твоя задача решаема в узких рамках значений независимой переменной. И ответ зависит от диапазона этих значений и допускаемой ошибки.
Аноним 24/11/17 Птн 11:03:29  1097092
>>1097005
description.a
Аноним 24/11/17 Птн 11:26:07  1097096
>>1096796
https://en.wikipedia.org/wiki/Taylor_series#Exponential_function
Возьми да сам потестируй и посмотри, насоколько малая степень тебя устроит.
Аноним 24/11/17 Птн 11:32:34  1097099
>>1097085
Это оче сложная система. Ты сам просто не разобрался.

>>1097075
Сначала обычный Qt осиль, там не очень сложно. Ещё и Qt Creator упрощает.
Аноним 24/11/17 Птн 11:35:12  1097100
>>1097099
С чего начинать обычный qt учить?
Аноним 24/11/17 Птн 12:20:46  1097115
>>1097075
>основы
у них есть канал на тытрубе, плюс туторы от разных левохуев

а вообще хуле там сложного, таскай себе формочки да бинди хуинди
Аноним 24/11/17 Птн 12:21:56  1097117
>>1097100
С установки Qt Creator? Гайды в сети.
Аноним 24/11/17 Птн 12:22:29  1097118
2017-11-10.png (252Кб, 1920x1080)
>>1097100
с постановки задачи
Аноним 24/11/17 Птн 12:24:20  1097120
могу разве что сказать что не советую онлайн установщик, его вопервых хуй найдешь на блядском сайте, подсовывают платную версию, а опенсосрсную в очко запихали, так вот эта хуйня потом сутки 50 гигов выкачивать всякого мусора будет, качай офлайн паки там по гигу - три, чисто что нужно
Аноним 24/11/17 Птн 15:50:39  1097209
Установил питон, открываю книгу укус питона, там написано для проверки установки введите в цмд: python3 -V
Ввожу, пишет что команда не найдена, что я уже не так сделал?
Аноним 24/11/17 Птн 15:52:20  1097211
>>1097209
напиши python2
Аноним 24/11/17 Птн 15:53:14  1097212
image.png (71Кб, 813x519)
>>1097209
Аноним 24/11/17 Птн 15:53:37  1097213
>>1097209
вот так вот
>>1097212
Аноним 24/11/17 Птн 15:56:29  1097214
>>1097209
Потому что python3 --version
Аноним 24/11/17 Птн 15:58:10  1097216
Capture.PNG (12Кб, 580x309)
При установке нажал на добавить в ПАТХ, что я делаю не так?
Аноним 24/11/17 Птн 16:01:29  1097217
14869837950370.png (169Кб, 342x329)
>>1097099
>Это оче сложная система
merge-tree не осилил?
Аноним 24/11/17 Птн 16:06:01  1097219
>>1097216
Не добавил. Перезагрузись, это говно ENV не сразу подхватывает
Аноним 24/11/17 Птн 16:09:33  1097223
>>1097219
Я уже пусть по умолчанию поставил, не знаю. Перезагрузился, ничего не работает.
Аноним 24/11/17 Птн 16:10:41  1097224
>>1094248 (OP)
Блин я тупой что делать? Туплю даже над простыми задачами, которые по идее должны решаться за 10 минут.
Аноним 24/11/17 Птн 16:34:35  1097230
>>1097224
В азы вникать.
Аноним 24/11/17 Птн 16:45:21  1097236
>>1097230
Да в азах уже итак по уши. Не получается эти азы друг с другом правильно комбинировать, чтобы результат выходил. Потом когда смотришь решение задачи над коорой полдня ебался без результата, то все кажется просто и без задних мыслей. Но вот самому додуматься не выходит.
Аноним 24/11/17 Птн 16:46:33  1097238
Посоветуйте чего почитать по ООП в Python и всяким builtints классов
Аноним 24/11/17 Птн 17:12:34  1097264
Как можно сохранить файл в памяти, чтобы потом его можно было либо заново открыть, либо имитировать такую строчку: open('photo.jpg', 'rb')
Аноним 24/11/17 Птн 20:40:36  1097343
>>1097264
Все, справился сам.
Аноним 24/11/17 Птн 21:29:11  1097358
>>1097039
Главное чтобы клинап был. У нас делалось так: вызывается из си коллбек питоний, он передаёт указатель в другую функцию. Потом, когда сишная функция заканчивается, заканчивается питоний коллбек, тогда уже первая сишная функция может удалять объект.
Аноним 24/11/17 Птн 21:29:58  1097359
>>1096769
>в разделе ДЛЯ НОВИЧКОВ!
Это не раздел для новичков, ёпту! Я тут сижу и я не новичок!
Аноним 24/11/17 Птн 21:38:02  1097361
Screenshot from[...].png (22Кб, 617x130)
КАК открыть websocket, отправить и принять одно сообщение, как в HTTP/S?

Пикрелейтед тупо зависает на .recv
К серверу доступ не имею, но мне известно что он поддерживает websocket. Отправить надо "dict".
Аноним 24/11/17 Птн 21:39:27  1097362
>>1097361
Бля... ну ты и тупой или жирный.
Аноним 24/11/17 Птн 21:51:02  1097371
Capture.PNG (2Кб, 414x187)
Починил. Ну всё, питон, держись!
Аноним 24/11/17 Птн 22:18:29  1097388
>>1097361
Сокеты от вебсокетов не можешь отличить? Вангую JS-макаку.
Аноним 24/11/17 Птн 22:24:11  1097389
Аноны, подкиньте родной литературы по проектированию web приложения. Что в models сунуть, что во view and etc?
Если там будет расписано про проектирование приложений в принципе - тоже отлично.
Но хотелось бы подробней про веб, в частности django/flask.
Аноним 24/11/17 Птн 22:37:26  1097393
>>1097388
Cинхронно websockets работать как нибудь можно заставить?
Аноним 24/11/17 Птн 22:39:53  1097395
>>1097393
Я вообще мимокрокодил. Отдели сначала мух от котлет: разберись, что такое сокеты, и чем отличаются от вебсокетов.
Аноним 24/11/17 Птн 23:16:19  1097404
>>1097389
Шапка, довен.
Аноним 24/11/17 Птн 23:17:17  1097405
А правда, что роботы с нейронками вытеснят с работ людей? Не будет пролетариата, не будет бухгалтеров и экономистов. У богачей будут роботы, будет ещё больше, прямо море денег и ресурсов, пролетариат станет абсолютно бесправным и богачи будут насиловать толпами юных женщин и устраивать гладиаторские бои между мужчинами?
Аноним 25/11/17 Суб 00:04:09  1097423
>>1097405
Нет, мяско дешевле робота всё равно будет.
Аноним 25/11/17 Суб 00:04:23  1097424
>>1097405
Да. А в конце всех разнесет в жидкость LCL
Аноним 25/11/17 Суб 00:11:11  1097428
>>1097393
Для начала нужно, собственно, установить библиотеку для вебсокетов. Например, есть одна с довольно очевидным названием: websockets.

>>1097358
>Главное чтобы клинап был.
Это есть. В __del__ объекта же норм запихнуть вызов сишной функции, освобождающей память? У меня в другом месте хранится адрес некоторой кучки данных, привязанных к этому объекту, которые туда-сюда таскать накладно очень было бы.
Аноним 25/11/17 Суб 02:19:26  1097480
>>1096192
Что за картавые хохлы? Как канал зовется?
Аноним 25/11/17 Суб 02:24:39  1097483
Вечер в хату. Где я могу подробнее узнать о классах? Книги, мануалы?
Аноним 25/11/17 Суб 10:00:12  1097528
>>1097483
Двачую вопрос. Разобрался с функциями теперь хотелось бы понять что такое классы и зачем они нужны.
Аноним 25/11/17 Суб 15:53:09  1097605
>>1097238
Бамп
>>1097483
Бамп
Аноним 25/11/17 Суб 15:54:59  1097608
>>1097483
оф дока питона. если не можешь в англ - https://www.ibm.com/developerworks/ru/library/l-python_part_6/index.html
Аноним 25/11/17 Суб 17:06:26  1097639
image.png (763Кб, 500x947)
Ребятки, ищу хороший способ хранить состояние программ (например, скрипт что-то парсит огромное, а сохранять в файл низя, т.к. вдруг наебнется все!) где-то, чтобы было удобно и красиво! Как прям во всяких nosql дб! Интересует больше именно python решения, а запрос в гугл сделать нормальный, чтобы выдало ответы, у меня просто не хватает мозгов, так что если что - шлите меня нахуй.
Аноним 25/11/17 Суб 17:49:21  1097649
Аноны, есть такая задача: нужно из html страницы вытащить линк элемента. Я так понимаю, beautifulsoup для этого оптимален? Или есть что лучше?
Аноним 25/11/17 Суб 17:49:40  1097650
привет я ньюфаг помогите я использую апи Абу

import requests, json
url = 'https://2ch.hk/makaba/mobile.fcgi?task=get_post&board=abu&post=42375'
r = requests.get(url)
data = r.json()

и тут data получается не dict, а list, хотя нормальные json страницы, а не обезьяньи, нормально в dict декодируются с помощью r.json(). я предполагаю это из-за того что у абу в api выдаёт json с квадратными скобками (https://2ch.hk/makaba/mobile.fcgi?task=get_post&board=abu&post=42375). как сделать чтобы выдавало dict и я мог нормально вызывать всякие хуйни?
Аноним 25/11/17 Суб 21:19:42  1097750
>>1097639
Делай чекпоинты и сохраняй в файлы/db. Другого способа нет.
>>1097649
Да. Нет.
Аноним 25/11/17 Суб 22:50:31  1097793
>>1096118
djbook.ru
Аноним 25/11/17 Суб 23:18:49  1097812
>>1097650
Попробуй тогда костылем переопределить data = data[0] чтобы избавиться от листа. А если у тебя только в таких случаях возникает лист, то поставить условие что если у тебя после запроса приходит лист, брать нулевой элемент
Аноним 25/11/17 Суб 23:24:21  1097817
>>1097649

Ты имеешь ввиду url тега 'a' ?
Аноним 26/11/17 Вск 01:06:10  1097873
Доброго времени суток, есть короче класс, а в нём 2 метода. Методы по ссылке
https://pastebin.com/Zv6waw3Y

Суть такова, что словаре моём всегда есть одно лишнее значение, которые я перед итерацией хочу убрать, что, в общем-то и делаю, но в self.cart.values() всё равно остаётся это значение. ЧЯДНТ?
Аноним 26/11/17 Вск 01:07:40  1097875
Посоветуйте книжку или курс где было бы много практики.
Аноним 26/11/17 Вск 02:13:32  1097900
Есть view, которое я хочу вызывать иногда с аргументом, иногда без.
Я пишу def my_view(request, pk=None):
Создаю 2 юрла
url(r'^myview/(?P<pk>\d+)/$', views.myview, name='myview_pk'),
url(r'^myview/$', views.myview, name='myview'),

А темплейте есть формы, которые при отправки вызывают myview_pk с аргументом pk.

Но какого-то хуя у меня pk=None всегда, что не так?
Построчный парсинг Аноним 26/11/17 Вск 05:40:47  1097927
Калякаю разбор файлов с тестовыми задачками и вариантами ответов в формате docx на Python. Вроде бы парсинг получается, фактически построчным, но я где-то проебался в логике.
В результате, я ожидаю, что когда скрипт находит строку с номером в начале, он считает его вопросом, иначе - ответом на вопрос, который был добавлен последним в список вопросов. Но, на деле, он правильно разбирает вопросы и валит ко всем экземплярам вопросов все доступные ответы.
У меня уже замылился глаз и я не могу найти свою ошибку.

Скрипт: https://pastebin.com/Pnw13MHM (требуется python-docx)
Файл, на котором можно потестить: http://ge.tt/7EgCQUn2

Заранее спасибо.
Аноним 26/11/17 Вск 05:44:53  1097928
Опять врываемся со своим говном https://github.com/anonim-legivon/dvach.api
Господа гуру, обоссыте наше поделие по делу, пожалуйста ;з
Аноним 26/11/17 Вск 09:00:26  1097942
>>1097480
я щас уже не найду, там 15летний хуй понтуется 32 гигами оперативки и поесняет за кресты, но помимо этого есть основы за кодинг в целом

просто вбей основы блять
Аноним 26/11/17 Вск 10:01:59  1097952
Чуваки, надо из любого текста выгребать имена авторов книжечек.
Как это проще всего сделать питоном? А как правильнее? А чего загуглить помимо очевидного text processing with python? Может кто чего видел такого на гитхабе?
Аноним 26/11/17 Вск 10:20:26  1097955
>>1097873
Почему просто не удалить ключ командой "del dict[key]"
Аноним 26/11/17 Вск 10:44:04  1097960
>>1097927
Self.answers=[] в инициализатор перенеси.
Аноним 26/11/17 Вск 10:46:29  1097961
>>1097952
Ну во-первых они имеют формат А.Я.Клешня.
То есть много точек, заглавные буквы и тд. Во вторых, они в общем распределении по частоте будут в хвосте.
Аноним 26/11/17 Вск 10:48:49  1097962
>>1097952
Ну regex'ом если ток, либо ищи нейросеть
Аноним 26/11/17 Вск 12:57:47  1098005
>>1097875
codewars
Аноним 26/11/17 Вск 14:20:09  1098058
А можно как-то разбить определение класса на несколько файлов?
Аноним 26/11/17 Вск 14:22:56  1098061
>>1098058
Поподробнее
Аноним 26/11/17 Вск 14:25:08  1098062
>>1097928
Бумп, нужна конструктивная критика
Аноним 26/11/17 Вск 14:28:27  1098065
>>1098062
user agent подставляете чтобы думали что пользователь зашел?
Аноним 26/11/17 Вск 14:37:44  1098075
>>1098065
Ага, сделали ещё поддержку смены заголовков и прокси. Кому нужно прикрутит библиотеку fake_useragent и будет каждый раз менять headers в цикле. Эт вообще если кто-нибудь соберётся делать вайпалку, но тогда надо будет ещё капчу решать сторонними сервисами с:
Аноним 26/11/17 Вск 14:39:47  1098077
>>1098065
Если желаешь присоединиться, то пиши в телегу @dexofan
Аноним 26/11/17 Вск 14:48:36  1098081
>>1098077
я долбаебокодер
Аноним 26/11/17 Вск 15:00:21  1098088
>>1097960
Добра, помогло
Аноним 26/11/17 Вск 18:00:12  1098230
>>1098058
Вряд ли. Только если разбить сам класс на базовые классы / миксины, с которых наследоваться
Аноним 26/11/17 Вск 18:02:44  1098234
>>1098230
>>1098058
С такими реквестами к руби с его консернами.
Аноним 26/11/17 Вск 20:26:29  1098309
Slowpoke.png (19Кб, 200x218)
Питоны, нужно случайное количество случайных чисел в определённом промежутке.
Как это организовать?
Дважды через randint?
Аноним 26/11/17 Вск 20:41:09  1098324
>>1098309
Чекни numpy библиотеку
Аноним 26/11/17 Вск 20:45:30  1098328
>>1098309
Ну если инты нужны, то да. Можно через нампи с указанием количества сразу:
>np.random.randint(start,stop,size=np.random.randint(np.random.randint(np.random.randint(
Однако с количеством надо бы немного определиться, хотя бы примерным.
Аноним 26/11/17 Вск 21:03:39  1098342
>>1098324
>>1098328
Ага, спасибо.
Аноним 26/11/17 Вск 21:17:41  1098354
Так, ещё вопрос: функция возвращает минимум 2 значения.
Как их "разбить", чтобы можно было написать: "Такой-то параметр равен "Значение1"", "Такой-то параметр равен"Значение 2""?
Аноним 26/11/17 Вск 21:19:43  1098359
>>1098354
Получается он кортеж возвращает, попробуй записать типа
a, b = func()
print 'a:',a,'b:',b
Аноним 26/11/17 Вск 21:24:22  1098366
>>1098359
> print 'a:',a,'b:',b
Убью нахуй.
Аноним 26/11/17 Вск 21:29:15  1098372
>>1098366
поч?
Аноним 26/11/17 Вск 21:31:19  1098375
>>1098372
> print 'a:',a,'b:',b
Python 2
Аноним 26/11/17 Вск 21:34:07  1098378
>>1098375
На работе заставляют быть геем и писать на 2.7
Аноним 26/11/17 Вск 21:44:49  1098384
>>1098378
Нет, я пояснил почему его нахуй хотят убить.
> print 'a:',a,'b:',b
> Убью нахуй.
Аноним 26/11/17 Вск 21:46:09  1098389
nelson haha.jpg (8Кб, 233x217)
>>1098378
Аноним 26/11/17 Вск 21:52:26  1098391
Двач, устал от пичарма, лагучий as fuck. Что посоветуете? Что скажите за atom?
Аноним 26/11/17 Вск 21:53:21  1098393
>>1098391
Пичарм — божественная вещь, ты просто неправильно его готовишь.
Как именно лагает? Сколько RAM?
Аноним 26/11/17 Вск 21:57:04  1098395
>>1098393
Он не то, что бы лагает, загружается долго, и если нечаянно клацнешь по нему будь готов смотреть на долгую загрузку. Хочется чего-то более легкого.
Аноним 26/11/17 Вск 21:58:51  1098396
Почему везде пишут, что python тесно связан с linux?
Аноним 26/11/17 Вск 22:00:26  1098397
>>1098395
А, так это не такая уж и проблема.

> чего-то более легкого
Очевидно, автодополнения/рефакторинг/прочие фишки пичарма будут гораздо хуже/их не будет совсем.

Atom, случаем, не на GitHub Electron? Видишь это название — сразу бросай говно от веб-макак.
Аноним 26/11/17 Вск 22:01:09  1098399
>>1098396
> везде
Где? Он связан с тем, с чем ты его свяжешь.
Аноним 26/11/17 Вск 22:03:45  1098401
>>1098397
Я просто загуглил best python IDE, везде на первом месте либо PyCharm, либо Atom.
>Очевидно, автодополнения/рефакторинг/прочие фишки пичарма будут гораздо хуже/их не будет совсем.
Для этого есть IPython
Аноним 26/11/17 Вск 23:20:53  1098451
>>1098391
Vs code годнота
Аноним 26/11/17 Вск 23:24:12  1098455
>>1098451
Параша на электроне.
Помню, из-за него баг был: мерцание курсора в одном окне отжирало 13% CPU. Сейчас как-то обошли. Но все ещё говно.
Аноним 26/11/17 Вск 23:32:11  1098462
>>1098391
если пичарм лагает - купи макбук
базарю, пользоваться на нем пичармом одно удовольствие

а вообще vim или spider
по-мелочам так и вовсе можешь обмазываться jupiter notebook - он охуенен и пиздат
Аноним 27/11/17 Пнд 00:01:03  1098474
>>1098455
его же переписали
Аноним 27/11/17 Пнд 00:34:48  1098495
>>1098474
Переписали на что-то более нативное?
Аноним 27/11/17 Пнд 01:43:03  1098515
>>1098451
>>1098455
vscode реально пиздат, базарю, ещё захочешь.
Аноним 27/11/17 Пнд 02:05:06  1098523
>>1098309
https://docs.python.org/3/library/random.html
tl;dr random.sample
Аноним 27/11/17 Пнд 02:05:37  1098524
>>1098324
Вот это перебор для его задачи
Аноним 27/11/17 Пнд 02:11:24  1098525
>>1098309
>>1098523
https://ideone.com/pfQiAq
Аноним 27/11/17 Пнд 05:43:05  1098562
>>1098525
>>1098523
> list of unique elements
Мне кажется, это немного противоречит условию.
Аноним 27/11/17 Пнд 10:41:20  1098598
>>1097075
Если на тытрубе нету на русском, то возможно я запилю. Я пока осваиваю технику разделения логики и интерфейса. Так считается правильно.
Аноним 27/11/17 Пнд 10:52:48  1098599
В питоне аргументы функций мутабильные? Если я их изменю в функции, то дальше в функции будет измененное значени?
Аноним 27/11/17 Пнд 11:06:29  1098600
>>1098599
Мутабельными или иммутабельными могут быть типы, а не аргументы функций.

Если же ты просто спрашиваешь, можно ли сделать
def x(a):
    a = 1
    return 1
print(x(9999)) # 1
то да, разумеется. Но это ты просто переменной a присвоил новое значение.
Аноним 27/11/17 Пнд 11:06:55  1098601
>>1098600
return a там, конечно же.
Аноним 27/11/17 Пнд 11:58:35  1098610
>>1098598
По pyqt есть на русском, но всё это уровня "делай по шаблону просто по тому что так надо"
Нигде не объясняются именно основы- что и зачем пишется

А вообще пили. Пользы много будет
Аноним 27/11/17 Пнд 13:01:06  1098625
Снимок.PNG (16Кб, 637x353)
Аноны, зацените мой спизженный с гугла многопоточный сервер.

Он сможет обрабатывать параллельно несколько соединений в разных потоках? Если нет, то как его можно модернизовать? Есть ли возможность выводить id активного потока, чтобы хоть контролировать правильность работу сервера?
Аноним 27/11/17 Пнд 13:01:16  1098626
>>1097942
Он? https://www.youtube.com/watch?v=9Rrz6F6IlHQ&list=PLwwk4BHih4fhL9CVAaNXy_DbtugjnOvKy
Аноним 27/11/17 Пнд 14:03:07  1098643
>>1098625
Многопоточным его можно назвать лишь условно. Потоки вроде есть, но в каждый момент времени может выполняться только один. Если хочется паралелльности, то смотри в сторону asyncio, либо запускай несколько однопоточных инстансов своего сервера.
Аноним 27/11/17 Пнд 14:13:32  1098650
Что почитать по алгоритмам?
Аноним 27/11/17 Пнд 14:19:17  1098655
anjOGeo700b.jpg (132Кб, 700x1244)
Питоняши, помогите с такой задачей:
https://pastebin.com/5iPg5KNY

Я с сокетами/запросами почти никогда не сталкивался, поэтому не могли бы вы подсказать:
1) Что в этом случае означают два порта, как их использовать?
2) Как вообще сделать такой запрос? Тут requests хватит или нужно что-то через sockets придумывать?
Аноним 27/11/17 Пнд 14:47:01  1098676
>>1098462
У меня вместе с anaconda поставился jupiter, только я ещё не вкурил всей сути. Его в браузере каждый раз открывать?
Аноним 27/11/17 Пнд 14:56:02  1098682
>>1098643
> Потоки вроде есть, но в каждый момент времени может выполняться только один.
Для ввода-вывода пойдет.
Аноним 27/11/17 Пнд 15:09:49  1098689
>>1098655
>Я с сокетами/запросами почти никогда не сталкивался, поэтому не могли бы вы подсказать:
>1) Что в этом случае означают два порта, как их использовать?
>2) Как вообще сделать такой запрос? Тут requests хватит или нужно что-то через sockets придумывать?

Это не просто сокеты (berkeley sockets), а какое-то флешевое говно. Если я правильно понимаю, тебе надо установить Tcp-соединение и послать внутри него сформированный нуль-терминированный xml.
Зачем два порта, не имею ни малейшего представления. Возможно, один из портов должен как-то указываться в самом xml.

Гугли по XMLSocket.

Повторяюсь, задача не на питон, а разобраться в проприетарном говне.
Аноним 27/11/17 Пнд 15:30:47  1098703
>>1098643
В питоне нету многопоточности?
Аноним 27/11/17 Пнд 15:34:51  1098704
>>1098703
С чего ты взял?
Аноним 27/11/17 Пнд 15:37:11  1098706
ar5xy8V700bv2.jpg (106Кб, 700x862)
>>1098689
Спасибо,
>Это не просто сокеты (berkeley sockets), а какое-то флешевое говно.
да, но там оказывается есть возможность послать JSON
>Зачем два порта, не имею ни малейшего представления.
Мне еще докинули доков по платформе. Насколько я понял второй - порт на который переадресуется вызов с первого уже на самом сервере. Т.е. нам нужен только первый.

Итого у меня получилось
https://pastebin.com/jqmw4sZB

Все виснет на socket.recv - судя по докам, это значит что мне ничего не послали в ответ/закрыли соединение.
Т.е. делаю я по сути все правильно, проблема в самой платформе/адресах/запросе?

Аноним 27/11/17 Пнд 16:20:21  1098738
>>1098706
>Т.е. делаю я по сути все правильно, проблема в самой платформе/адресах/запросе?
Да.
Ты еще забыл терминирующий нуль в запросе. И я думаю сервер хоть что-то да должен отвечать.

И еще изучи неблокирующие сокеты, это чтобы recv не вис.
Аноним 27/11/17 Пнд 16:36:49  1098769
>>1098676
суть в том, что бы делиться с темным не программерским народом скриптами особо не заставляя их чет устанавливать и тд
ну и удобно, че, крутится себе в интернете где-то твоя страничка с кучкой скриптов "по темам" куда ты из браузера зайти можешь и пользоваться
Аноним 27/11/17 Пнд 16:37:11  1098770
>>1098391
Emacs вроде годнота. Правда входной порог выше чем у вскода или пайчарма.
Аноним 27/11/17 Пнд 17:52:38  1098840
>>1098643
>Если хочется паралелльности, то смотри в сторону asyncio
лолшто
Уж вот от кого, а от asyncio точно никакой параллельности ждать не стоит по определению.
Аноним 27/11/17 Пнд 18:01:23  1098856
FOvDpXjw4aU.jpg (80Кб, 457x604)
Как написать асинхронный for in (max threads = 10000)?
Аноним 27/11/17 Пнд 18:02:37  1098861
>>1098703
Да гонит он.
Есть posix-треды. Но ускорения вычислений это не дает, в один момент выполняется только один тред. Но для задач, ожидающих ввода-вывода это подходит, если только тредов разумное количество и они не каждую секунду создаются/завершаются.

Для распараллеливания вычислений, когда все ядра проца загружены, есть мультипроцессинг.
Аноним 27/11/17 Пнд 18:14:41  1098886
Есть один бот (для вайбера), и он не хочет работать абсолютно

Проблема в том, что там используется Flask для обработки запросов
Сначала запускаю сервер, потом устанавливаю вебхук для вайбера, и он стабильно при запуске возвращает 502 ошибку. Если обращаюсь по адресу уже после запуска приложения – отвечает нормально. Как я понимаю, Flask запускается асинхронно? Есть ли возможность выполнить команду после старта фласка?
Аноним 27/11/17 Пнд 18:15:38  1098888
>>1098856
А вам так много зачем? Супер-компьютер в подвале нашли?
Аноним 27/11/17 Пнд 18:18:32  1098892
>>1098888
Как сделать? Количество потоков неважно
Аноним 27/11/17 Пнд 18:20:19  1098896
>>1098738
Спсибо
>терминирующий нуль
Пока гуглю и не нашел: а что это такое и как его добавить в запрос? да, я вообще в этом не разбираюсь
Аноним 27/11/17 Пнд 18:21:00  1098897
>>1098886
Фласк синхронный.
Ты чего-то не того наворотил. Смотри логи-дебаги.
Аноним 27/11/17 Пнд 18:23:25  1098900
>>1098896
Это в сишке строки принято оканчивать нулевым байтом. На сайте адобе я нагуглил что в xml-сокетах данные тоже должны им заканчиваться. Добавь '\x00' или b'\x00' (питон3) в конец того, что шлешь.
Аноним 27/11/17 Пнд 18:43:38  1098927
>>1098900
Попробовал - все равно 0 ответа от сервера, буду дальше разбираться
Спасибо
Аноним 27/11/17 Пнд 18:54:13  1098932
>>1098897
Да смотрел, ничего дельного не нашел
Просто если после app.run() вызывать например print, то он срабатывает ПЕРЕД сообщением о том, что сервер запущен
Аноним 27/11/17 Пнд 19:12:22  1098949
>>1098932
>Просто если после app.run() вызывать например print, то он срабатывает ПЕРЕД сообщением о том, что сервер запущен

Это нормально.
хттп-реквесты фласк обрабатывает синхронно, я вот о чем. А служебный вывод видимо как-то по хитрому кэшируется. Короче забей на это.
Аноним 27/11/17 Пнд 19:13:04  1098950
>>1098927
Тебе вообще что надо, рабочего клиента эмулировать? Дамп трафика тогда проси.
Аноним 27/11/17 Пнд 19:22:03  1098960
>>1098949
understandable, спасибо за разъяснения
Кстати, аноны, если кто-то писал на питоне ботов для вайбера, отпишитесь мне, есть пара вопросов
Аноним 27/11/17 Пнд 19:23:47  1098962
>>1098892
from multiprocessing.pool import ThreadPool
pool = ThreadPool(n)
pool.map_async(func_containing_for_body, list_of_stuff)
...
pool.close()
pool.join()
Аноним 27/11/17 Пнд 19:43:03  1098982
>>1098962
Это вставлять в for in loop? Напр. 1000000 entries нужно обработать.

for entry in somelist:
action_with_long_response(entry)
Аноним 27/11/17 Пнд 19:46:31  1098984
>>1098886
А где инфу нашел по написанию ботов для вибера? А то мне пригодилось бы, а долго втыкать в апи лень
Аноним 27/11/17 Пнд 19:49:43  1098987
>>1098982
Нет. Это писать вместо фор лупа:
>pool.map(action_with_long_response, somelist)

map или map_async выбирай в завимости от того, надо ли тебе что-то делать пока все эти элементы обрабатываются (т.е. map() блокирует основной тред)/
Аноним 27/11/17 Пнд 20:33:49  1099062
>>1098960
>>1098984
Нахуй вам этот глючный вибер?! Телеграм же есть!
Аноним 27/11/17 Пнд 20:37:55  1099071
>>1099062
У меня там коллеги-старперчики сидят. И хвала аллаху что они хоть со скайпа съебали
Аноним 27/11/17 Пнд 20:38:45  1099073
>>1098984
https://developers.viber.com/
>>1099062
Нужно параллельно сделать ботов для вайбера и тг, со вторым уже давно всё готово, а вайбер всё портит
Аноним 27/11/17 Пнд 21:25:54  1099114
>>1098650
Если еще актуально - отпишись в телегу @malomalsky. Скину годную книгу
Аноним 27/11/17 Пнд 23:57:23  1099224
Короче, есть ManyToManyField, но в формах я хочу чтобы она отображалась как просто селект с возможностью выбрать один вариант, как это можно сделать?
Аноним 28/11/17 Втр 00:08:45  1099229
>>1099224
django-smart-selects ?
еще можешь каштомные кверисеты писать, они тоже не кусаются
Аноним 28/11/17 Втр 03:38:20  1099313
>>1098987
А как итерировать то? Как к entry обратиться в action_with_long_response?
Аноним 28/11/17 Втр 03:43:58  1099315
>>1099313
Все, нашел.
Аноним 28/11/17 Втр 05:08:29  1099330
>>1099229
В формах что ли? А есть про это в доках, а то я писал, но джанга ругалась.
Аноним 28/11/17 Втр 07:23:28  1099342
>>1098626
>15летний хуй
ты слишком тупой и не можешь в поиск информации, бросай нахуй, это не твое
Аноним 28/11/17 Втр 07:38:13  1099350
>>1099071
В скайпе тоже давно боты есть.
Аноним 28/11/17 Втр 09:02:42  1099365
Можно ли писать Йоба-игры на Питоне или это мазохизм?
мимопроходил
Аноним 28/11/17 Втр 09:14:00  1099366
>>1099365
Конечно можно! Сейчас на pygame почти все написано
Аноним 28/11/17 Втр 09:36:32  1099375
original[1].jpg (37Кб, 600x312)
>>1098643
>Если хочется паралелльности, то смотри в сторону asyncio
Взял в гугле пример сервера на asyncio, настроил под свои нужды - результат выполнения абсолютно такой же, как и раньше. Прям 1 в 1.

>>1098840
Блджад, а от чего можно ждать параллельности? Казалось бы, такая тривиальная задача - обрабатывать одновременно несколько подключений. Может я зря Питон выбрал для этих нужд? Какие ещё есть варианты?

Аноним 28/11/17 Втр 09:39:55  1099378
>>1099375
>от чего можно ждать параллельности
Elixir, но вакансий на нём — кот наплакал.
Аноним 28/11/17 Втр 09:41:54  1099381
>>1099378
Вакансии пока не главное, мне важно сейчас решить стоящую передо мной задачу.
Аноним 28/11/17 Втр 09:42:31  1099382
>>1099375
нода, епт!
Аноним 28/11/17 Втр 09:52:10  1099384
>>1099375
>обрабатывать одновременно несколько подключений.
Сначала давай определимся с терминами. Ты под "одновременно" имеешь в виду именно вот параллельно, на всех доступных ядрах/гипертредах, т.е. для повышения производительности, или же просто асинхронно, не мешая друг другу, чтобы несколько человек могли подключиться и работать с твоим сервером?

Если второе (а я думаю, что именно это тебе и нужно), то и asyncio, и треды вполне тебе подходят.

>Какие ещё есть варианты?
Есть node.js, но там, по сути, тот же asyncio, асинхронщина на одном ядре.

Для "параллельности" можно просто несколько процессов запустить, тогда все ресурсы и будут использованы

Так что спокуха, всё ок, это просто манька выебнуться "знаниями" решила (и мгновенно же и обосралась буквально через пару слов, лел).

>результат выполнения абсолютно такой же, как и раньше. Прям 1 в 1.
Так а что тебя в этом результате неустраивает-то?
Аноним 28/11/17 Втр 10:21:18  1099397
>>1099384
> просто асинхронно, не мешая друг другу, чтобы несколько человек могли подключиться и работать с твоим сервером
Именно это.

Например, подключается первый пользователь и присылает мне подряд 100 сообщений hello_world_1.

В это время подключается второй пользователь и присылает 5 раз сообщение hello_world_2.

Мне нужно, чтобы второй пользователь не ждал в очереди, пока закончит первый. Нужно чтобы сообщения от любого пользователя сразу же выводились на консоль как только придут. И таких пользователей будет около 30 штук одновременно.



Аноним 28/11/17 Втр 10:31:04  1099399
>>1099397
>чтобы второй пользователь не ждал в очереди, пока закончит первый
Ну так первый будет обращаться к СУБД, наверное.
Аноним 28/11/17 Втр 10:51:16  1099403
>>1099399
Нет. Пользователи - это GPS трекеры, которые присылают мне свои координаты.

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

Сдаётся мне, что это происходит потому, что как сказал анон >>1098643
>Потоки вроде есть, но в каждый момент времени может выполняться только один

Аноним 28/11/17 Втр 10:56:04  1099406
>>1099397
>чтобы второй пользователь не ждал в очереди, пока закончит первый.
Ну так а сейчас у тебя не так, что ли?

>чтобы второй пользователь не ждал в очереди, пока закончит первый.
Зависит от того, как у тебя код написал. Формально, он будет ждать, но зачастую это ожидание очень малое (пренебрежимое). А если обрабатывающая запросы функция обращается к бд или диску, то во время ожидания этих операций (открытия/закрытия файлов, например) питон пойдёт обслуживать другого пользователя.

>>1099403
>Сдаётся мне, что это происходит потому, что как сказал анон
Нет, ты просто наговнокодил. Вырежи всё лишнее, покажи свой код. Могу чуть позже тебе пример нормальный накалякать.
Аноним 28/11/17 Втр 10:59:18  1099407
>>1098703
В 2.7 не было. В 3.5 поддержка появилась из коробки.
Аноним 28/11/17 Втр 11:01:13  1099409
>>1099375
>Какие ещё есть варианты?
uwsgi, как плюс - он сам нагрузку по ядрам раскидывает, если сконфигурировать
Аноним 28/11/17 Втр 11:58:40  1099423
>>1099406
Мой говнокод по ссылке: https://ideone.com/Y6ww0V

За работающий пример буду сильно благодарен.
Самое смешное, что сервер может быть и нормально работает, а косяки получаются из-за криво настроенных клиентов.
Аноним 28/11/17 Втр 12:03:10  1099426
>>1099365
Ну, Ren`Py например. Популярная штука.
Основан на pygame, правда, бидон второй.
Аноним 28/11/17 Втр 12:05:29  1099429
>>1099407
G I L
I
L
Аноним 28/11/17 Втр 12:13:58  1099435
>>1099423
Попробуй использовать Jython/IronPython.
Я когда многопоточный url-фаззер на request писал, действительно быстрее было. Но там только второй бидон.
Аноним 28/11/17 Втр 12:20:46  1099436
>>1099409
Вебмакака просочилась. Ты почитай что ему нужно вообще.
Аноним 28/11/17 Втр 12:24:34  1099438
>>1099403
не слушай долбоебов вещающих про Гил и однопоточность
И про uwsgi , позор то какой

Твою задачу питоном решить можно.

Конкретнее распиши как трекеры общаются с сервером. Просто по тсп шлют сообщения в своём формате?
Аноним 28/11/17 Втр 12:47:20  1099447
>>1099423
>За работающий пример буду сильно благодарен.
>Могу чуть позже тебе пример нормальный накалякать.
Вот-с. https://repl.it/repls/FunnyFunnyHog

>сервер может быть и нормально работает
Увы.

>Мой говнокод
>yield from asyncio.wait_for(reader.readline(), timeout=100.0)
Вот тут херня. Данные у тебя новой строкой не оканчиваются, в итоге он читает и читает, пока там вдруг случайно не появится конец строки (а с таймаутом в 100 секунд шансы довольно велики). При этом при начале поступления данных, походу, readline начинает блокировать. Замени readline на, например, read(500) И всё станет немного лучше. Дальше уже нужно знать протокол и формат сообщений, имеют ли они размер и т.д.

И не слушай всяких долбоёбов, которые тут уже на IronPython, блядь, перейти советуют.
Аноним 28/11/17 Втр 12:51:02  1099450
>>1098987
> pool.map(action_with_long_response, somelist)
Как прервать итерацию?
Аноним 28/11/17 Втр 12:55:12  1099453
>>1099447
Вот твой же код с моими симуляторами трекеров с выставлением read(36) (размер моего пакета): https://repl.it/repls/IdealJudiciousHornet всё ок работает.
Аноним 28/11/17 Втр 13:07:20  1099458
>>1099447
>пока там вдруг случайно не появится конец строки (а с таймаутом в 100 секунд шансы довольно велики)
Хотя тут я хуйню какую-то сморозил, по-моему, но у меня оно почему-то начинало выплёвывать через несколько секунд сразу кучу данных.
Аноним 28/11/17 Втр 13:09:50  1099460
>>1099436
> Ты почитай что ему нужно вообще.
держать 30-60 соединений, как я понял
Аноним 28/11/17 Втр 14:22:24  1099497
>>1099403
блин да пихай их в celery и пусть оно там сколь угодно долго как-то само ебется
Аноним 28/11/17 Втр 14:31:35  1099499
>>1099447
>Данные у тебя новой строкой не оканчиваются, в итоге он читает и читает, пока там вдруг случайно не появится конец строки
>Замени readline на, например, read(500)
Т.е. итерация цикла while должна заканчиваться после того, как придёт интересующая меня строка? В данном случае после получения 500 символов. Верно? Длина строки у меня не фиксирована, но, согласно протоколу, строка заканчивается символами \r\n. Получается я должен читать приходящие символы, и как только наберётся последовательность \r\n делать циклу break?
Аноним 28/11/17 Втр 15:03:22  1099528
>>1099499
>Длина строки у меня не фиксирована, но, согласно протоколу, строка заканчивается символами \r\n. Получается я должен читать приходящие символы, и как только наберётся последовательность \r\n делать циклу break?


Да. Но ограничение на длину все же поставь. Протокол протоколом, а клиенту чудить никто не запрещает.
Аноним 28/11/17 Втр 15:44:19  1099549
>>1099499
>итерация цикла while должна заканчиваться
>наберётся последовательность \r\n делать циклу break?
Не совсем.

Теоретически, при такой связи должно быть два цикла:
1. на всё время подключения клиента
2. на время сбора данных (они же могут не одним куском сразу прийти). Т.е. что-то типа (полупсевдокод)
>while client.connected():
>    data = b'' # или socket.read(HEADER_SIZE)
>    while len(data) < packet_size:
>        data += await socket.read(socket.bytes_available)
>    process_data(data)

В даннм случае, внутренний луп у тебя заменён на readline(), потому что ты не по размеру, а по делимитеру определяешь конец пакета (обычно же хедер есть и всё такое).

Твой хендлер вызывается при подключении клиета. Если ты сделаешь break после прочтения первого сообщения, то соединение разорвётся и придётся его устанавливать заново при следующей пачке данных. Тут уже зависит от частоты сообщений (трекеры-то, полагаю, должны бы каждые несколько секунд отсылать? Приятно же наблюдать, как курьер с пиццей к твоему дому подъезжает в почти реальном времени), выбор за тобой.

Длины стоит ограничить, чтобы мамики хацкеры не послали тебе тонну дряни и не засрали твой буфер, который так и будет копить и копить бесконечно данные.

Данные-то правильные приходят, которые получается обработать, лишнего ничего нет? Потому что вообще так-то твой код должен был бы работать, если протокол соблюдён.
Аноним 28/11/17 Втр 16:23:41  1099566
image.png (52Кб, 815x510)
image.png (49Кб, 655x610)
Господа, здравствуйте!!
Хочу настроить пайчарм для работы с питоном. Скачана новая анаконда, скачан сам питон и пайчарм. Библиотеки все подключены (1й пик), но нужно задать еще run/debug configuration. А там у меня просят какой-то скрипт (2й пик).
Работал с питоном последний раз где-то год назад, скриптов никаких не помню, что там выбирать не знаю. Подскажите!
Аноним 28/11/17 Втр 16:42:32  1099574
>>1099566
Кроме двача больше некому помочь, правда
Аноним 28/11/17 Втр 16:45:13  1099575
>>1099566
>просят какой-то скрипт (2й пик).
ну так и укажи там путь к какому-то скрипту который ты дебажить собрался.
Аноним 28/11/17 Втр 16:46:24  1099576
>>1099575
Ого. У меня код есть, я его дебажить буду. Про скрипты впервые слышу
Аноним 28/11/17 Втр 17:23:37  1099613
>>1099576
Я ПОНЯЛ КОД И ЕСТЬ СКРИПТ УКАЗАЛ ЕГО И ВСЕ НОРМ СПАСИБО РЕБЯТА
Аноним 28/11/17 Втр 17:47:35  1099634
anjDvrV700b.jpg (48Кб, 700x1031)
Анон, ты разбираешься в djnago ORM?
У меня в бд есть две модели: кастомеры и заказы. У каждой модели есть поле created_date.
Нужно:
задаешь две даты (start, end) -> тебе выдает словарь с
{date:
{customers_created: кол-во кастомеров за дату,
orders_placed: кол-во заказов за дату}
}
Я думаю это можно как-то получить с помощью ORM, но совсем не разбираюсь в этих aggregate/annotateпока гуглю варианты
Аноним 28/11/17 Втр 19:04:02  1099667
Как-то бля можно засунуть в неймспейс кучу функций и вызывать их по типу Мояёба.Foo(x) ?
Если сделать класс то он требует вызов из объекта

Аноним 28/11/17 Втр 19:07:53  1099669
>>1099667
А, кажись понял - надо писать перед каждой функцией @staticmethod
Аноним 28/11/17 Втр 19:11:53  1099673
Тест
Аноним 28/11/17 Втр 19:23:06  1099675
models.png (78Кб, 1431x847)
forms.png (45Кб, 1434x868)
browser.png (67Кб, 1437x825)
пацаны, тут это js макака чет не может разобраться что к чему
сделал для choices в forms.py multipleSelect
все нормально, в админке появились чекбоксы, пытаюсь сохранить модельку, пишет Выберите корректный вариант. ['red', 'blue', 'green'] нет среди допустимых значений.
я вообще понятия не имею что происходит, фигачу по докам и стековерфлов, интуиция подсказывает что в models.py в поле colors определен CharField
colors = models.CharField(choices=COLORS, max_length=50, verbose_name='Цвета')
а админка пытается запихать туда ['basket', 'child', 'tennis'] массив

вопрос что и где мне нужно сделать чтобы это исправить?
пока в голове только переопределить метод save в форме, чтобы он вместо этого массива делал 'basket|child|tennis' но я уверен что есть способ лучше, подскажите какой?
Аноним 28/11/17 Втр 19:55:14  1099696
>>1099675
заюзал это
https://github.com/goinnn/django-multiselectfield
пиздец вы питонисты говноеды, ради элементарной задачи тянуть хуй пойми чей говнокод
еще на npm выебонят
ебал вас в рот Антихайп
Аноним 28/11/17 Втр 20:02:12  1099704
Screenshot from[...].png (27Кб, 680x254)
Как завершить multiprocessing ThreadPool?
Аноним 28/11/17 Втр 20:26:26  1099724
Питон, допустим, у меня накачено дохуя питонов: 3.4, 3.5, 3.6. Как мне юзать пип для каждого отдельно? Как запускать каждый отдельно?
Аноним 28/11/17 Втр 22:10:32  1099765
>>1094248 (OP)
А зачем в 2017-м нужна Anaconda? Python же вроде давно в venv научился
Аноним 28/11/17 Втр 22:45:41  1099780
Аноны, скоро буду сдавать ЕГЭ по информатике в 200-300к мухосрани, сам учу змея, но боюсь что меня опрокинут с питоном и заставят на паскале писать, есть ли тут аноны, которые сдавали информатику в мухосранях?
Аноним 28/11/17 Втр 23:27:01  1099821
Вкатится в питон, и у меня проблема.
Предположим, что у нас есть кортеж, и нам нужно доставать из него 2 числа и сравнивать их, как достать эти сразу 2 числа? Или мне надо по очереди их брать, записывать в переменные, сравнивать переменные и очищать после?
Аноним 29/11/17 Срд 00:31:20  1099850
>>1099821
>и нам нужно доставать из него 2 числа и сравнивать их,
По два соседних итерируя по длине кортежа чтоли или как? пример приведи.
Аноним 29/11/17 Срд 02:08:14  1099874
Сап змейки. Можете мне обьяснить каким вообще образом данный вундеркод работает? Ведь, к примеру, 4/2 нихуя не ноль будет. Или я чего-то не понимаю?
Аноним 29/11/17 Срд 02:20:18  1099876
>>1099874
>Или я чего-то не понимаю?
Вот ето вот.
Аноним 29/11/17 Срд 02:21:19  1099879
>>1099876
Ну так чего же? Что же лежит на поверхности и чего я блядь не вижу?
Аноним 29/11/17 Срд 02:23:18  1099880
>>1099874

% считывает остаток

4 % 2 = 0

5 $ 2 = 1
Аноним 29/11/17 Срд 02:24:08  1099881
изображение.png (1711Кб, 1244x610)
>>1099880
То чувство когда не очень внимательно читал первые уроки. Спасибо, вспомнил
Аноним 29/11/17 Срд 05:39:29  1099918
>>1099724
python3.4 -m pip install krokodil
python3.5 -m pip install zalupa
python3.6 -m pip install sir

>>1099821
>как достать эти сразу 2 числа?
if kortezh[0] == kortezh[1]:

>>1099704
Оттуда — никак. Что ты можешь сделать, это добавить глобальный флаг, выставив которые все оставшиеся вызовы просто будут тут же завершены — https://repl.it/repls/KhakiFunnyCaiman
Если у тебя такая задача, по поиску нужного чего-то в списке, то может стоит самому по кускам загружать в пул данные, останавливаясь тогда, когда нашлось нужное? Можешь вот в сторону Queue Глянуть - https://pymotw.com/2/Queue/
В принципе, если использовать imap, то можно сделать pool.terminate(), по по-моему это немного нехорошо, если делать это из одного из тредов пула, а не оттуда, где пул был создан.
Но может быть ты лучше задачу свою опишешь? Потому что какое не очень элегантное решение получается.
Аноним 29/11/17 Срд 05:52:49  1099924
>>1099696
>ради элементарной задачи
>еще на npm выебонят
У нас хотя бы is-boolean'ов нет.

А зачем тебе питон, нода же гораздо лучше для веба?
Аноним 29/11/17 Срд 06:17:59  1099932
>>1099918
Задача такова: много операций с долгим выполнением, которые надо расспаралелить и оборвать при неком условии.
Аноним 29/11/17 Срд 06:26:18  1099933
>>1099918
Как-то тупо получается мультипроцессинг сделан, если его нельзя оборвать. А если у меня миллион процессов?
Аноним 29/11/17 Срд 07:19:08  1099941
>>1099874
>2-ой питон
Аноним 29/11/17 Срд 07:36:19  1099943
>>1099941
Что это значит?
Аноним 29/11/17 Срд 08:03:11  1099958
>>1099943
Это значит, что ты пидор
Аноним 29/11/17 Срд 08:11:20  1099960
>>1099958
А может быть... ТЫ?
Аноним 29/11/17 Срд 08:45:32  1099964
>>1099932
>>1099933
>А если у меня миллион процессов?
Значит ты что-то не так делаешь.

>надо расспаралелить
Ограничение по производительности или io? А то сначала ты треды просил, а теперь вдруг распараллеллить надо.

Если таки cpu-bound, то вот с процессами так можно сделать:
https://stackoverflow.com/questions/26068819/how-to-kill-all-pool-workers-in-multiprocess

С тредами я писал же, что можно
>pool.imap(func, list)
>pool.terminate()
Просто делать это лучше-таки в основном треде, как и с процессами (там по-другому нельзя совсем): https://repl.it/repls/MediocreArcticEel (у тредов общая память, поэтому не нужны дополнительные сложности с менеджерами).

Честно говоря, я не знаю, почему при map() нельзя так же прервать. Возможно, список сразу целиком пулу отдаётся, в отличие от генератора, который ещё можно остановить.

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

Либо вот на документированные executor'ы (и по тредам, и по процессам) посмотри: https://docs.python.org/3.4/library/concurrent.futures.html
Аноним 29/11/17 Срд 09:11:45  1099971
>>1094788
https://pastebin.com/bP1LHrZT
Аноним 29/11/17 Срд 10:09:06  1099985
>>1099964
Насчёт решения с тредами: после вызова pool.terminate, уже запущенные задачи в тредах будут доделываться до конца, только новые не поступят. (Потому что внутри там, наверняка, всё через ту же стейт переменную сделано, которая перед каждым новым элементом проверяется). Так что не вздумай там запускать сотни тредов.
Аноним 29/11/17 Срд 11:28:31  1100007
>>1099724
Не ставь глобально пакеты, обмажься virtualenv

А там уже устанавливай нужные версии питона
$ virtualenv -p python3.6 environment_file
Аноним 29/11/17 Срд 12:05:03  1100009
>>1099943
Значит, что ты используешь 2ю версию питона (print не функция). Анон выше мягко намекал, что учить версию языка, которая будет лишена поддержки в 2019-20, не совсем продуктивно в 2к18 году.
Аноним 29/11/17 Срд 12:38:44  1100019
>>1099850
Два соседних, да
Аноним 29/11/17 Срд 13:56:56  1100046
>>1099964
А зачем в твоем процессе в конце close/join если они все равно терминированы?
Аноним 29/11/17 Срд 14:06:19  1100049
>>1100019
Если нужно красивенько: https://repl.it/repls/WorriedRevolvingSablefish нагло спиздил из доков itertool'а

Но у тебя, по-моему, чего-то более фундаментального понимание неправильное. К элементам можно обращаться по индексам из списков/туплов и других последовательностей.
>l = ['a', 'b', 'c']
>l[1] # 'b'
>var = 'b'
l[1] можно использовать точно так же, как и var.

>>1100046
Join чтобы дождаться конца выполнения уже ещё активных тредов (добавил принтов по ссылке). А вот close и правда не нужен, join можно вызывать и после terminate'а (но хотя бы один из них обязателен).
Аноним 29/11/17 Срд 14:16:05  1100053
>>1100049
Про индексы то понятно, а если мы рандомом заполняем кортеж? То приходится без индексов справляться
Аноним 29/11/17 Срд 14:33:16  1100059
1.PNG (88Кб, 1028x765)
>>1099549
Спасибо тебе, доброанон, за помощь. На твоём симуляторе действительно всё хорошо работает, значит сервер написан правильно.

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

Вся загвоздка в том, что трекеры устанавливал и настраивал не я. Этим занималась какая-то говноконтора и настраивала отправку данных с трекеров на свой говносервер. Для меня же они просто делают ретрансляцию данных со своего говносервера. Видимо, что ретрансируются они как-то криво.
Аноним 29/11/17 Срд 14:36:04  1100061
>>1100053
Каким ещё рандомом? Какая разница, чем ты его заполнил? Покажи код, ёпту.
Ты делаешь что-то вроде
>[random.random() for i in range(100)]
и хочешь сравнить подряд идущие элементы во время создания списка, что ли?
Аноним 29/11/17 Срд 14:38:24  1100063
>>1100061
Да, что-то похоже, было бы неплохо, если покажешь
Аноним 29/11/17 Срд 14:55:14  1100072
>>1100063
Конечно покажу:
>никак


Нет, конечно, дерьма можно всякого разного наделать (https://repl.it/repls/AchingScentedBlesbok), но не нужно. Лучше просто в несколько строк распиши свою процедуру заполнения, всё равно этого не избежать.
Аноним 29/11/17 Срд 14:58:44  1100076
>>1100072
Хотя если уж вот совсем хочется, то http://code.activestate.com/recipes/204297-the-secret-name-of-list-comprehensions/
Аноним 29/11/17 Срд 15:50:41  1100090
anjwNdE700bv1.jpg (69Кб, 470x637)
Анон, ты разбираешся в celery?

Допустим, у меня есть задача:
1) Есть ограничение по времени 50 сек
2) Есть список url
На каждый из url нужно отослать по запросу. Если запрос не удался - нужно попытаться еще раз. И так пока не получу ответ 200 или не кончится время на ретраи (1)

Нужно чтобы запросы начала рассылаться синхронно.

Я подумывал о celery, но
- не создавать же на каждый запрос по воркеру (чтобы они обрабатывались одновременно)
- если будет 2 воркера - каждый сможет обрабатывать только
1 url и не закончит, пока не получит 200 или не выйдет время. Допустим есть 10 url, 2 воркера взяли первые 2 и у них выдает постоянно ошибку - остальные 8 так и не обработаются, пока не выйдет время.

Как это можно вообще реализовать?
Аноним 29/11/17 Срд 16:13:33  1100096
Как выкачивать фалйы по ссылке в джанге?
Аноним 29/11/17 Срд 16:23:31  1100102
>>1100090
А чу, в пистоне уже реализовали многопоточность?
На божественном сярпе это делается элементарно с LINQ asParallel
Аноним 29/11/17 Срд 16:50:37  1100115
>>1100090
a s y n c i o
s
y
n
c
i
o

Но будет только в celery 5
Аноним 29/11/17 Срд 17:38:16  1100143
>>1099964
Почему ты пишишь, что треды и мультипоточность/парралелизм отличаются? Это же одно и то же - запуск парралельных подпроцессов.
Аноним 29/11/17 Срд 18:20:33  1100158
>>1100019

>>> data = tuple(range(10))
>>> for first, second in zip(data[:-1], data[1:]):
print(first,second)


(0, 1)
(1, 2)
(2, 3)
(3, 4)
(4, 5)
(5, 6)
(6, 7)
(7, 8)
(8, 9)
Аноним 29/11/17 Срд 18:21:50  1100159
>>1100158
> data[:-1]
Можно просто `data`
Аноним 29/11/17 Срд 18:25:32  1100161
>>1100159
Кстати да, это же zip, а не zip_longest
Аноним 29/11/17 Срд 18:39:32  1100167
>>1100115
Ну а без 5 селери как быть?
А вообще это нормальная практика: у меня 20 запросов и я их синхронно выполняю?
Аноним 29/11/17 Срд 18:48:58  1100169
Поясните за парсинг, юзаю BeautifulSoup.
На странице есть скрипт, в котором есть определенный параметр hd_src его значение нужно спарсить, но я не понимаю как.
Если я пишу ищу через string, то он возвращает мне весь скрипт тэг, а мне нужна только ссылка в hd_src, как это сделать можно?
Аноним 29/11/17 Срд 19:00:28  1100177
>>1100169
Использовать парсер js на пифоне.
Аноним 29/11/17 Срд 19:10:58  1100183
>>1100177
Ладно, ща попробую какой-то slimit, спасибо.
Аноним 29/11/17 Срд 19:11:11  1100184
>>1099964
imap вообще не работает. У меня оно зависает и всё. Ничего не происходит, не выводит в консоль list_item.

https://repl.it/repls/PointlessRawWasp


Аноним 29/11/17 Срд 19:13:21  1100185
Накатил анаконду, но импортировать ничего не могу, но если ебошить через pip install matplotlib, то pycharm все это импортирует и подгружает. https://www.youtube.com/watch?v=dgjEUcccRwM И чекал по видосам, все установлено правильно, в консольке могу и питон, и jupyter notebook вбить и 0 ошибок. Что я делаю не так?
Аноним 29/11/17 Срд 19:30:32  1100190
>>1100184
А все, причина проблемы идентифицирована, нужно всегда вызывать event.set в последнем треде.
Аноним 29/11/17 Срд 19:36:35  1100193
15115818711860.jpg (63Кб, 493x402)
>>1100190
Сколько костылей надо добавить чтобы обычный выход из мультитрединга инициировать. Нужно считать длину итерируемого массива, или брать последний элемент массива, добавлять его в переменную перед распараллеливанием, потом сравнивать...
Аноним 29/11/17 Срд 19:53:13  1100204
>>1099924
хз зачем кому то понадобился is-boolean, чекнуть тип можно вполне себе без него
>А зачем тебе питон, нода же гораздо лучше для веба?
админка искаропки
да и синтаксис кошерный
Аноним 29/11/17 Срд 20:20:00  1100211
>>1100009
А что, разница прям такая огромная? Просто codeacademy удобен весьма
Аноним 29/11/17 Срд 20:54:56  1100220
>>1100185
анаконда ж сама через свой "менеджер" окружения создает, не?
Аноним 29/11/17 Срд 21:26:08  1100237
>>1100143
Потому что в питоне они сильнее отличаются, из-за GIL'а. Т.е. параллельности с тредами в питоне ты не получишь, в любой момент времени работает будет работать только один. Что на IO-bound задачи, типа скачивания кучи файлов из интернета одновременно, особо негативно не влияет.

>Нужно считать длину итерируемого массива, или брать последний элемент массива, добавлять его в переменную перед распараллеливанием, потом сравнивать...
Нахуя? Тебе же нужно было раннее прерывание вроде. Так-то да, done.wait() ждёт установки эвента.
Сделай так тогда и забей хуй: https://repl.it/repls/MonstrousCrushingHummingbird будет либо до конца ждать, либо оборвётся на нужном тебе. Может я вовсе неправ был и не так уж и плохо закрывтаь пул из дочернего.
Аноним 29/11/17 Срд 21:28:48  1100238
>>1100237
>в любой момент времени работает будет работать только один. Что на IO-bound задачи, типа скачивания кучи файлов из интернета одновременно, особо негативно не влияет.
Да, но не по этой причине, а потому что io задачи отпускают GIL на время ожидания.
Аноним 29/11/17 Срд 22:11:22  1100255
Может кто пояснить, при скачке видео
urllib.request.urlretrieve(url, 'my_video.mp4')
иногда (пока что только на одном видео из 10 появляется такая ошибка
urllib.error.ContentTooShortError: <urlopen error retrieval incomplete: got only 524288 out of 3451385 bytes>
Из-за чего это может происходить?
Аноним 29/11/17 Срд 22:28:41  1100261
DJ1.PNG (28Кб, 874x327)
Дело такое. Django

Пытаюсь переменную QuerySet "posts" конструкцией " 'posts':posts " передать в шаблон.
При обновлении страницы локальном серверевыдаёт NameError at /
name 'posts' is not defined


Я не понимаю почему...
Аноним 29/11/17 Срд 22:46:37  1100268
>>1100261
у тебя переменная post = Post.blabla
а отправляешь ты posts: posts
ебнутый штоль?
Аноним 29/11/17 Срд 22:51:14  1100269
>>1100261
>>1100268
Енжой ёр автодополнение без понимания контекста.
Аноним 29/11/17 Срд 22:52:01  1100270
>>1100268
есть немного. Но дело тут куда тоньше, если прописывать posts в переменной(в самом начале) и так же ставить posts:posts, выйдет уже тогда ошибка с тем же содержанием, но уже не "posts" а выдаст "post"...

Но если наименовать переменную post а конструкцию posts:posts всё заработает... Вот как так скажи мне... Я сам голову уже часа 2 ломаю
Аноним 29/11/17 Срд 22:58:07  1100272
>>1100268
>>1100269
>Но если наименовать переменную post а конструкцию posts:posts
fix
post:post


Короче, вот как должна выглядеть конструкция https://ideone.com/S7P8uw но выдаёт ошибку "Post" NameError at /
name 'post' is not defined

Но вот так она начинает работать, но ведь тогда post уже обращается к совершенно другой переменной... Это костыль или что?
https://ideone.com/pdwVUg
Аноним 29/11/17 Срд 23:20:39  1100278
Весь день занимаюсь парсингом и это пиздец какой-то, я блять не понимаю.
парсится блять страница, вывожу
print(soup)
пишу кнтрл ф (_5pbx userContent) находит, пишу
soup.find_all("div", "_5pbx userContent")
нихуя не находит, вот как так-то?
ещё писал
soup.find_all("div", class_="_5pbx userContent")
но результат тот же, что я блять делаю не так?
Аноним 29/11/17 Срд 23:45:35  1100295
1.jpg (34Кб, 624x351)
Сап, пистонята, как заебашить поиск юзера в жанге? С меня как обычно любовьласка
Аноним 30/11/17 Чтв 00:04:10  1100299
>>1100295
User.objects.filter(name__icontains='имя')
Аноним 30/11/17 Чтв 00:57:48  1100318
14940900978460.webm (2653Кб, 640x360, 00:00:25)
>>1100237
Охуенно! Все работает.
Аноним 30/11/17 Чтв 01:00:31  1100319
Задача. Открыть файл в котором записана одна строчка(целое число). Затем открыть его снова, получить это целое число, прибавить к нему еще одно и записать их сумму ВМЕСТО первоначальной строчки.

Код

a = 2
f = open('zalupa.txt', 'w')
f.write("1")
f.close

f = open(kiss, 'r+w')
line = f.read()
b = a + int(line)
f.write(str(payment2))
f.close()

должно ведь записаться в файл и получиться 3(2+1 же), Двач, какого хуя он выдает 13, как удалить единицу перед тем как записывать?
Аноним 30/11/17 Чтв 01:01:23  1100320
>>1100319
быстрофикс

код

a = 2
f = open('zalupa.txt', 'w')
f.write("1")
f.close

f = open(kiss, 'r+w')
line = f.read()
b = a + int(line)
f.write(str(b))
f.close()
Аноним 30/11/17 Чтв 01:50:42  1100339
>>1100319
file.seek
Аноним 30/11/17 Чтв 02:56:31  1100358
image.png (29Кб, 275x622)
Как изъять каждый message_id в цыкле ?
Аноним 30/11/17 Чтв 03:22:49  1100366
>>1100358
усё, разобрался
Аноним 30/11/17 Чтв 03:58:53  1100372
Есть модель с файлфилд, и есть одна форма с view, которые позволяют ввести юрл на видео и оно скачается туда же, где лежат видео, если их добавить через админку например.
Но, я не понимаю как мне проассоциировать этот файл с полем в модели, при создании нового экземпляра.
То есть, сейчас я пишу
media = MediaDownloader()
media.file = 'media/my_video.mp4'

Но при этом в админке его почему-то нельзя посмотреть, как те, которые я заливал через админку. Или это нормально и так и должно быть ?
Аноним 30/11/17 Чтв 06:34:30  1100389
>>1100272
Тебе питон должен показывать файл и строку, на который выпадает ошибка. В показанном тобой коде никакой переменной "post" нет, значит и ошибка где-то в другом месте выпадает.

>совершенно другой переменной
С чего бы это другой? Пиши хоть
>kkkkkkkkk = Post.objects....
>render(..., {'post': kkkkkkkkk })
Всё будет работать.

Вангую во вью код вроде
>if 'post' in context:
>    post = context['post']
>do_something(post)
Аноним 30/11/17 Чтв 11:56:18  1100423
Чем отличается ipython notebook от jupyter ??
Аноним 30/11/17 Чтв 12:11:20  1100430
>>1100423
Первый соснолечка, второй вебчик с картиночками
Аноним 30/11/17 Чтв 12:12:52  1100431
>>1100430
Что то, что это у меня запускается на локалке, немного различается интерфейс, а так, те же яйца, только в профиль.

Есть ли способ запустить это без браузера?
Аноним 30/11/17 Чтв 12:31:36  1100442
Screenshot from[...].png (12Кб, 1041x150)
А как правильно???
Аноним 30/11/17 Чтв 12:45:14  1100449
>>1100442
Похуй.
Аноним 30/11/17 Чтв 13:08:42  1100455
>>1100442
путон.
Аноним 30/11/17 Чтв 13:41:30  1100467
>>1100442
пифон.
Аноним 30/11/17 Чтв 13:52:31  1100473
Где захостить джангу без гимора и занидораха? Нагрузка нулевая.
Аноним 30/11/17 Чтв 13:54:04  1100474
Почему лого питона в цветах украинского флага? Слава Украине!
Аноним 30/11/17 Чтв 13:55:07  1100475
>>1100102
Multilrocess. Плохо тут с этим.
Аноним 30/11/17 Чтв 13:55:38  1100477
>>1100442
Фитон
Аноним 30/11/17 Чтв 13:57:12  1100478
Вопрос по джанге. Может встроенная админка полностью всем устроить, включая локализованные названия полей с пояснениями? Или придется пилить свою?
Аноним 30/11/17 Чтв 13:58:00  1100479
>>1100473
Дигитале океан.

Или хероку
Аноним 30/11/17 Чтв 14:17:03  1100483
>>1100479
> Дигитале океан.
Минимальное пополнение через палку - 5$. А я хочу хостинг вырубать когда не нужен.

> Или хероку
Что за зверь?
Аноним 30/11/17 Чтв 14:24:11  1100488
ipython.png (6Кб, 337x113)
Jupyter.png (10Кб, 666x286)
Почему во встроенной оффлайн консоли ipython можно писать только по 1 фиксированной строчки, а в юпитере можно в 1м блоке написать сколько угодно?
Аноним 30/11/17 Чтв 15:18:24  1100516
>>1100488
ТЕБЯ ЕБЕТ ШТОЛИ?
БЛЯДЬ ПИЗДЕЦ У НАС В КОМПУТОРНОЙ АККАДЕМИИ ШАГ ЗА ТАКИЕ ВОПРОСЫ УБИВАЮТ НАХУЙ!!!!!
Аноним 30/11/17 Чтв 15:51:24  1100529
>>1100483
>> Или хероку
>Что за зверь?
heroku.com
Аноним 30/11/17 Чтв 15:51:31  1100530
>>1100372
Ну же, выручай анон, прочитал вчера про
from django.core.files import File
Пишу теперь как-то вот так
local_file = open('media/files/my_video.mp4')
djangofile = File(local_file)
media.file = djangofile
media.save()

Теперь выдает такое, вообще хуй знает куда смотреть
UnicodeDecodeError at /upload/
'utf-8' codec can't decode byte 0x8d in position 34: invalid start byte
Аноним 30/11/17 Чтв 16:01:04  1100532
>>1100530
> open('media/files/my_video.mp4')
open('media/files/my_video.mp4','rb')
Аноним 30/11/17 Чтв 16:03:23  1100533
>>1100532
Блять, точно, вот я дебил, спасибо.
Аноним 30/11/17 Чтв 16:16:54  1100535
>>1100516
Нормально ответить слабо?
Аноним 30/11/17 Чтв 16:22:31  1100540
>>1100533
>я дебил
Нет, ты умничка и все у тебя получится!
А ошибки у всех бывают.
Аноним 30/11/17 Чтв 16:23:55  1100541
>>1100535
консоль это интерактивчик больше

а жупитер juniper это для написал кусок кода - отрисовал график, там мельчить не имеет смысла.
Аноним 30/11/17 Чтв 16:32:25  1100543
.jpg (122Кб, 1280x720)
>>1100540
Аноним 30/11/17 Чтв 16:36:48  1100545
>>1100541
Написал бы хоть, что в ipython е можно тупо взять запусть готовый файл со скриптом, обратившись к интерпретатору
Аноним 30/11/17 Чтв 16:46:44  1100549
Здравствуйте, уважаемые удавы.
В общем, к Питону ещё не прикасался. Ни разу. Сейчас хочу заняться только с практической целью: визуализация результатов экспериметов, красивые 3D-графики, диграммы. +расчёты.
На компах работодателя заметил "NumPy", соотвесна, буду работать только в связи с SciPy (я как понял, NumPy - подмножество SciPy).
Я как понял, мне нужна Anaconda как IDE+либы и УкусПитона как гайд?
Нужно минимум теории и максимум выхлопа, ибо по сути хлам, я лучше знания в C расширю.
Аноним 30/11/17 Чтв 17:15:56  1100563
>>1100545
внатуре пидор, написал бы хоть ну...
Аноним 30/11/17 Чтв 18:24:30  1100593
Есть пайтон строка с кучей хтмлтэгов внутри, при том, не факт, что я знаю какие там тэги есть.
Как избавится от всего этого?
И по верстке один вопрос простой.
На странице есть картинки и видео, как разместить их слева и справа соответственно.
Добавлял див с class="col-md-6" на каждую, но тогда они друг на друга наезжают.
Аноним 30/11/17 Чтв 18:49:38  1100604
>>1100549
Для визуализации графиков, множеств точек и прочего тебе надо обратиться к библиотеке matplotlib. Наверняка она уже даже установлена по дефолту, туториолав - куча, визуализация возможна в т.ч. трёхмерных хреновин. Делается всё просто, что-то в стиле:
>from matplotlb import pyplot as plt
>xx = range(100)
>yy = [i*i for i in xx]
>plt.plot(xx, yy)
>plt.show()

>>1100593
Как я понимаю, нужно удалить все теги? Для решения такой проблемы я бы посоветовал обратиться к регулярным выражениям. В пистоне это библиотека re.

По поводу вёрстки - col-md-6 вроде бы имеет силу только при каких-то конкретных размерах экрана (из-за наличия "md", так прописаны метатеги по размеру). Может быть, размер окна такой, что этот тег не применяется?
Аноним 30/11/17 Чтв 18:53:11  1100605
>>1100604
бля, как же я ебал в рот эти регулярки

md -medium вроде 767 px, да и у меня 100% больше, к тому, же это значит, что при меньшем разрешении они просто начнут друг под другом стакаться (вроде бы)
Аноним 30/11/17 Чтв 18:53:21  1100606
>>1100604
Да, matplotlib уже искаропки, спасибо. А "Укуса" хватит, чтобы начать шарить?
Аноним 30/11/17 Чтв 19:05:14  1100615
>>1100605
По идее, тебе надо осуществить замену регулярного выражения <[^<>]+> на пустую строку. По идее, оно как раз соответствует тегам.

То, что именно наезжают - странно. Мне кажется, дело не в конкретно этом теге. Может, позиционирование у родителя не то стоит или что-то в таком роде.
>>1100606
Укус? Там вообще нихрена шарить не надо на самом деле. Если с питоном вообще дел не имел, то сначала надо разобраться с чтением из файла и работой с базовыми переменными/строками, но это тривиально. Если есть файл, содержащий, например, два столбца чисел, которые надо отобразить на графике, это это просто:
>xx, yy = [], []
>f = open('data.txt', 'r')
>for line in f:
> xx.append(float(line.split(' ')[0])
> yy.append(float(line.split(' ')[1])
>f.close()
Всё считали.
Аноним 30/11/17 Чтв 19:10:11  1100618
>>1100615
Ну вообще да, сейчас попробую, спасибо.

Да, правда, так и было, но всё равно говно получается, как же кумарит эта верстка
Аноним 30/11/17 Чтв 20:00:18  1100639
Есть у кого-то идеи, как в питоне с видео снять скриншот?
Нашел только кучу мертвых библиотек на второй питон.
Аноним 30/11/17 Чтв 20:29:47  1100659
>>1100639
Ищи биндинги для FFmpeg/любого плеера.
Аноним 30/11/17 Чтв 20:30:47  1100661
Здравствуй /пр/,
Есть один вопрос, который меня мучает уже пару дней:
Если я ввожу в
ftp = FTP('не_работающий_айпи')
то время ожидания 21 секунда.
Как меня сделать так, что бы время ожидания было 8 секунд?
Аноним 30/11/17 Чтв 20:31:37  1100662
>>1100661
Ищи таймауты по докам твоей библиотеки.
Аноним 30/11/17 Чтв 20:33:44  1100664
>>1100662
Я скрипт буду юзать не только на своем компе.
Как мне прописать таймлитимит для дока фтп, что бы лимит был у любого компа?
Аноним 30/11/17 Чтв 20:35:30  1100665
>>1100639
Громоздкое решение, но если уже установлено, то opencv в это может.
Аноним 30/11/17 Чтв 20:38:25  1100667
>>1100659
Тоже об этом думал, но лень, решил воспользоваться MoviePy
>>1100665
тоже скорее всего громоздкое решение, но чот лень разбираться как через пифон ффмпегом пользоваться

Аноним 30/11/17 Чтв 20:52:16  1100677
Алсо, кто с PyQt работал? Можете на пальцах пояснить, в чём фундаментально отличие qthreads от обычных питоновских тредов? Можно ли в интерфейсе что-нибудь дёргать обычными тредами?
Аноним 30/11/17 Чтв 22:07:06  1100710
Анончики, помогите:
Есть два csv файла, допустим, A и B. В файле А есть две колонки соответствующих значений, в B - большая таблица, в которой заголовком идут значения первой колонки из A. Мне нужно заменить значения хедера B на соответствующие значения второй колонки из A. Тупо заменить всеми значениями не получится, потому что в хедере некоторые пропущены и они идут не по порядку. Как это в pandas каком-нибудь сделать?
Аноним 30/11/17 Чтв 22:21:56  1100716
>>1100710
Если файлы не охуеть какие огромные, то так должно сработать:
>caption_b = ... # Заголовок файла B, который надо поменять
>file_a = open('A', 'r') # Открываем файл А
>data_a = {}
>for line in file_a:
> a, b = line.split(' ')
> data_a[a] = b
>caption_b = caption_b.split(' ')
>caption_b = [data_a for i in caption_b]
>caption_b = ' '.join(caption_b)
Если дохуя огромные, то data_a не надо по-тупому заполнять всеми значениями, а более аккуратно искать в цикле значения только для нужных.
Аноним 30/11/17 Чтв 22:22:42  1100718
>>1100716
Бля, только не
>line.split(' ')
, там же не проблемы, а csv:
>line.split(',')
Аноним 01/12/17 Птн 00:37:03  1100789
А кто знает, через апи фейсбука можно у них видео выкачать?
Аноним 01/12/17 Птн 03:08:11  1100831
>>1100529
Я понял, что это? С планшета сижу.
Аноним 01/12/17 Птн 03:44:04  1100834
>>1100545
Как?
Аноним 01/12/17 Птн 04:30:00  1100837
Как распарсить в дату такую строку?
a = 'Fri, 01 Dec 2017 01:21:36 GMT'
date = time.strptime(a, "%a, %d %b %Y %H:%M:%S")
Всё понятно, кроме GMT. что для него подставлять?
Аноним 01/12/17 Птн 05:20:22  1100841
>>1100667
>как через пифон ффмпегом пользоваться
os.system('ffmpeg -ss 01:23:45 -i input -vframes 1 -q:v 2 output.jpg')

>>1100837
>time.strptime
%Z же. https://docs.python.org/3/library/time.html#time.strptime
Только велика вероятность, что с наличием таймзон проблемы будут.
Аноним 01/12/17 Птн 11:30:09  1100890
>>1100837
Pendulum попробуй
Аноним 01/12/17 Птн 12:50:13  1100915
Апельсинусы, куда с питуном вкатиться можно кроме веба? Прочитал первый том Лутца, а в каком направлении двигаться дальше не знаю.
Аноним 01/12/17 Птн 13:06:34  1100922
Приходит вот такая строка, кто-нибудь знает как её спарсить? И что это вообще такое?
https://pastebin.com/C76EPaLn

двощ не позволяет запостить напрямую
Аноним 01/12/17 Птн 13:22:43  1100934
>>1100915
Дип лернинг, мэшин лернинг, биг дата , нейронные сети
Аноним 01/12/17 Птн 15:12:11  1101005
Поясните ещё за регулярочки.
Строка выглядит прибилизительно так
<img class="_46-i img" src="<тут всё что нужно спарсить> < style="left:-13px;>
Проблема в том, что дальше идёт дохуя этих style="left и оно парсит получается их все, можно как-то сделать чтобы парсило до первой встретившейся, или что-то такое? Или как такое вообще парсить?

Вот что я пишу, но это парсит не только мне нужную строку, а вообще всё что есть до последнего style="left.
pic2 = re.compile('(<img class="_46-i img" src=")(.*)(?=" style="left)')
Аноним 01/12/17 Птн 15:20:49  1101013
>>1100922
https://stackoverflow.com/questions/2087370/decode-html-entities-in-python-string
Аноним 01/12/17 Птн 15:21:50  1101015
>>1101005
>Поясните ещё за регулярочки.
Поясняю, не парси регулярочками хтмл.
Аноним 01/12/17 Птн 15:48:32  1101022
>>1100664
>Как мне прописать таймлитимит для дока фтп, что бы лимит был у любого компа?
аллоу, доки = документация. Тебе посоветовали почитать документацию используемой тобой фтп-библиотеки, в которой будет сказано, как установить таймаут при вызове (если можно). На других компах, испольующих твой скрипт, очевидно, должна быть установлена эта же библиотека, чтобы оно работало.
Аноним 01/12/17 Птн 15:52:36  1101023
>>1101015
Как через BeautifulSoup парсить вложенные теги, потому что у меня чот нихуя не парсится?
Аноним 01/12/17 Птн 16:01:25  1101028
>>1100934
>Дип лернинг, мэшин лернинг,... нейронные сети

Что в общем-то одно и то же ежже
Аноним 01/12/17 Птн 16:25:43  1101049
>>1101023
>Как через BeautifulSoup парсить вложенные теги,
Просто.
> у меня чот нихуя не парсится?
Хуева, чо.
Аноним 01/12/17 Птн 17:12:34  1101075
Блядь как же я заебался, аноны, памагити, никак не могу указать pycharm-y путь к интерпретатору, почему-то ругается с указанием pyton-a 2.7, хотя установлен-то блядь последний
Аноним 01/12/17 Птн 17:58:36  1101097
>>1101075
Поставил кряк из шапки, ситуация не изменилась
Аноним 01/12/17 Птн 20:16:02  1101163
>>1101023
Бери Scrapy, не еби себе мозг.
Аноним 01/12/17 Птн 20:26:22  1101174
>>1101163
Наркоман.
Аноним 01/12/17 Птн 22:33:31  1101264
>>1101075
Первое правило питона - не кодь на питоне из-под винды.
Аноним 01/12/17 Птн 22:34:57  1101267
Джанганы, а посоветуйте за последие год два может книги какие клевые по джанго выходили, что почитать стоит?
Или может вы видели на гитхабе живые распиздато написанные приложухи на джанго, такие, что бы полистать да чего хорошего набраться?
Да хоть туториалы на ютубе, один хуй, абы полезные
Аноним 01/12/17 Птн 23:03:35  1101285
>>1101264
This.
Аноним 02/12/17 Суб 00:08:08  1101328
Когда юзать class-based views а когда обычные в Django?
Аноним 02/12/17 Суб 00:25:12  1101339
>>1101328
cbv всегда
Аноним 02/12/17 Суб 00:46:24  1101349
images.jpg (4Кб, 259x194)
Анон, помоги разобраться, пожалуйста.
Есть шахматная доска. Надо определить, правильно ли ходит конь.
При отладке почему-то получается, что второй if , судя по всему, неверный и проверка следующего условия не выполняется.
https://ideone.com/D9f2lQ

Также реквестирую советы по оптимизации этого говнокода. Заранее спасибо
Аноним 02/12/17 Суб 03:00:32  1101395
>>1101349
> почему-то получается
Вводишь строку, сравниваешь с числами.
> по оптимизации
Тут просто дохуя всего. Ты делаешь всё как говно.
Аноним 02/12/17 Суб 04:23:41  1101409
>>1101264
Прыщеговно ебаное?
Аноним 02/12/17 Суб 06:13:36  1101425
Может перекот?
Аноним 02/12/17 Суб 09:21:17  1101441
>>1101409
Ну я вот на маке работаю и всем рекомендую.
Но вообще даже линукс будет по-удобнее, чем пороться в сраку с pip и всякими поделками для numpy под виндой
Аноним 02/12/17 Суб 09:41:48  1101447
14878553027800.jpg (50Кб, 400x579)
Посоветуйте портативную среду, хочу принести на работу, но у нас нельзя ничего установить.
Аноним 02/12/17 Суб 10:06:59  1101450
>>1101447
Jupiter notebook
Аноним 02/12/17 Суб 10:08:41  1101451
>>1101447
Жупитер ноутбук
Если есть айпад еще веселенькая ide есть - Pythonista
Аноним 02/12/17 Суб 10:11:06  1101452
>>1101451
>Pythonista
Ебать название, аж свежим смузи запахло.
Аноним 02/12/17 Суб 10:31:46  1101456
>>1101395
> Ты делаешь всё как говно.
Возможно. Ведь я учусь.
>Тут просто дохуя всего.
Ну хоть что-то?
Аноним 02/12/17 Суб 10:39:24  1101459
>>1101452
Хипсторов бояться - в интернеты не выходить!
А штука прикольная - там неплохо расписаны модули для взаимодействия с ios: все эти share button > run script / виджеты / даже простенькие UI - компоненты есть
Ну а внутри обычный питон питоном, третей версии, шелл и pip искаробки не доступны ввиду шизоидности подходов к безопасности appstore, но валом туториалов как запилить их самому и пользовать
Аноним 02/12/17 Суб 10:44:17  1101464
>>1101451
К слову под иос так же есть бета Juno, который просмотровщик онлайновых Jupiter Notebooks. На сайте приложухи автор всем подряд раздает доступ к этой бете.
Аноним 02/12/17 Суб 12:21:24  1101474
Хочу выучить Питон. Потом легко будет работу найти?
Аноним 02/12/17 Суб 12:52:01  1101482
>>1101441
То что пип надо руками прописывать в path и конфликты разрешпть то еще ничего. Гораздо веселее когда нет бинарей под винду. Ipythpn последний, например.
Аноним 02/12/17 Суб 12:54:18  1101484
>>1100488
Прыщеговно ебаное потомушта. А в юпитере дополнение работает?
Аноним 02/12/17 Суб 12:54:55  1101485
>>1100831
> Я понял, что это? С планшета сижу.
Ап
Аноним 02/12/17 Суб 12:55:35  1101486
>>1100478
Ап
Аноним 02/12/17 Суб 12:57:47  1101488
>>1101450
>>1101451
http://portablepython.com/
Вот это не годится?
Аноним 02/12/17 Суб 13:31:06  1101494
>>1101488
Я ебут что ли? Если удобно - пользуйся.
Аноним 02/12/17 Суб 16:39:55  1101579
>>1101456
> Ну хоть что-то?

> m1 = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h'] #задаём оси
ХУЁСИ! Просто xs, ys = "abcdefgh", "012345678"
Разбей всё на функции:
конвертация в декартовы координаты
проверка что точка на доске
* проверка что от одной точки до другой можно дойти буквой ГХЭ.
на ideone можно input заполнить чтобы все увидели как твоя поделка падает
Аноним 02/12/17 Суб 17:10:51  1101607
>>1101349
во-первых добра тебе анончик и успехов в учебе

во-вторых

в функции печатать ничего не надо, поднимай исключения

там, где функцию вызваешь, их обрабатывай

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

в-четвертых успехов и добра
Аноним 02/12/17 Суб 17:11:49  1101609
>>1101607
>>1101349

к его совету тоже прислушайся

>>1101579
Аноним 02/12/17 Суб 17:38:37  1101628
>>1101607
>>1101349


https://ideone.com/xY4k5h
Аноним 02/12/17 Суб 18:25:38  1101648
Что скажете про книгу learn python the hard way?
Аноним 02/12/17 Суб 18:29:38  1101649
>>1101648
хуйня уровня ПРЕВОЗМОГАЙ! ПИШИ ГОВНО ДАЖЕ ЕСЛИ НИХУЯ КРОМЕ ГОВНА НЕ МОЖЕШЬ! ОТОЖМИСЬ 100500 РАЗ!!!
на западе жрут потому что скряги и эта говнокнига беслпатная, в РФ жрать такое ваще не по масти, тем более что пятая часть книги это визг пейсателя дескать го смотреть мои видеокурсы платые где я распиздато гнусавым голосом пержа и попивая чай чет пизжу более конкретное чем эта пидорская книжная мотивация

наверни Think Python, короч
Аноним 02/12/17 Суб 18:31:25  1101652
>>1101649
Спасибо, что ответил анон, а в think python много практики?
Аноним 02/12/17 Суб 18:32:06  1101653
>>1101652
ага, почти целая книга туда-сюда применимых к жизни приложений "степ бай степ", что называется
Аноним 02/12/17 Суб 18:36:48  1101656
>>1101653
Спасибо ещё раз, анон.
Аноним 02/12/17 Суб 18:58:39  1101669
>>1101628
2:18: E225 missing whitespace around operator
10:37: E231 missing whitespace after ','
12:1: E302 expected 2 blank lines, found 1
12:27: E231 missing whitespace after ','
13:30: E225 missing whitespace around operator
14:38: E225 missing whitespace around operator
15:30: E225 missing whitespace around operator
16:38: E225 missing whitespace around operator
19:1: E302 expected 2 blank lines, found 1
22:30: E231 missing whitespace after ','
24:1: E305 expected 2 blank lines after class or function definition, found 1
Аноним 02/12/17 Суб 19:10:16  1101679
>>1101669
Поставил пайлинтер в вскоде, так он в каждой строчке ссыт мне в лицо. Думаешь стоит прислушиваться к нему?

мимо другой анон
Аноним 02/12/17 Суб 19:16:31  1101688
>>1101653
Глянул оглавление, там совсем для нюфань. Я же в синтаксисе питона шарю, да в программировании в целом. Похоже я не найду нужной книги. Придется просто свои прожекты мутить и гуглить документацию для доков.
Аноним 02/12/17 Суб 19:58:42  1101705
Посмотрел, что для анализа данных требуют знание numpy, scipy, scikit-learn, pandas, tensorflow и т.д. Как учить это говно? Есть какая-нибудь литература для изучения или только на сайте читать описание?
Аноним 02/12/17 Суб 20:15:41  1101710
Питоны, у меня есть несколько скриптов в субдирректории subidr и чтобы импортировать их в файлы верхнего модуля нужно писать как import subdir.file И если я запускаю какой-то файл в дирректории, то все файлы в субдирректории если у них есть импотры между собой должны импортировать тоже как import subdir.file. С другой стороны если запускать скрипты из субдирректории то все импотры между файлами идут по пизде т.к. нужно писать просто import file.
Как это обычно решают?
Вообще где можно почитать/посмотреть бест практикс по импортам, видел в некоторых проектах целые файлы где только импорты а может это было на руби, я не помню.
Аноним 02/12/17 Суб 20:20:58  1101713
>>1101705
>Как учить это говно?
Ты так пишешь будто это сильно дохуя.
numpy осваивается за 1-2 статьи в инете, pandas сейм шит, если тебе не нужен маняэксель на питоне, тогда еще пару статей придется читануть.
scipy и scikit-learn просто набор алгоритмов. Если ты читаешь про какую-нибудь регрессию или манядеревья, то потом не идешь писать свой велосипед, а просто вызываешь функцию "сделать заебись" из scikit.

До тензорфлоу руки еще не дошли, но вангую что там тоже самое трудное это import tensorflow as tf
Аноним 02/12/17 Суб 20:29:18  1101719
>>1101264
Ну а играть-то как блядь, я кроме развития еще и аутировать хочу, баланс нужен
Аноним 02/12/17 Суб 20:32:37  1101724
>>1101679
Конечно, блядь, нестандартное говно читать-то противно, будто крестьянин до клавиатуры добрался.
Аноним 02/12/17 Суб 20:33:18  1101725
>>1101719
Поставь вторую операционку
Аноним 02/12/17 Суб 20:33:34  1101726
Перекатите тред
Аноним 02/12/17 Суб 20:35:24  1101727
>>1101726
Сам перекати, ёпту.
Аноним 02/12/17 Суб 20:39:43  1101731
>>1101264
Хуй знает о чем ты, пишу на винде, хотя есть прыщи и мак в мультибуте. просто потому что оброс всяким говном на винде, которое лень ставить на другие системы
Ни одного бага еще не ловил, единственное ограничение это то что пути иногда нужно руками прописывать, например пишу в консольке python -m pip install вместо pip install т.к. лень было переменные среды пердолить.

Не скажу за веб, но всякая саентифик параша работает как часы. Разве что один раз caffe нужно было вручную собирать из другой ветки
Аноним 02/12/17 Суб 20:56:50  1101744
>>1101725
Не с моим жестким на 120гб
Аноним 02/12/17 Суб 22:17:49  1101814
>>1101713
Ну, я просто смотрю на подобные http://pandas.pydata.org/pandas-docs/version/0.20/pandas.pdf документы, и руки опускаются.
Аноним 02/12/17 Суб 22:51:54  1101842
Ч почитать годного по джанге есть?
Аноним 03/12/17 Вск 00:17:57  1101870
>>1101814
Не ссы, описание стандартной библиотеки питона тоже больше тыщи страниц, но это же не мешает тебе юзать его не зная и 5% того, что там есть.
Тем более там с 1000 страницы начинается api reference, а до 400 страницы вспомогательный стафф типа истории версий, как устанавливать и контрибьютить.
Аноним 03/12/17 Вск 00:28:50  1101873
Поясните за scrappy, когда надо его юзать, а когда чего попроще, в чём его преимущества перед BeutifullSoup, например?
Аноним 03/12/17 Вск 01:18:10  1101901
>>1101873
scrapy это django для парсинга
Аноним 03/12/17 Вск 01:20:23  1101902
>>1101901
а если парсить надо в джанге?
Аноним 03/12/17 Вск 01:32:06  1101904
>>1101902
я имел в виду в scrapy как и в джанге, все включено

создал проект, накидал xpath выражений и вперед.

рейтлимит, редиректы, все автоматом




Если в джанго надо парсить, то или синхронно при помощи чего-нибудь простого (requests + lxml) или асинхронно через Celery и ту же Scrapy.
Аноним 03/12/17 Вск 01:35:31  1101906
>>1101904
xpath выражения звучат заманчиво, но с другой стороны остальное нахуй не надо.
Ладно, почитаю что там у них в доках, спасибо.
Аноним 03/12/17 Вск 01:39:49  1101908
Пацаны, помогите решить задачу. В общем, есть последовательность пар чисел. Некоторые из этих пар имеют общие элементы. Нужно вывести цепочки связанных пар по убыванию длины цепочки.
Например, дана последовательность:
[(1,2), (2,4), (5,4), (7,4), (3,8), (8,10)]

Тогда вывод будет таким:
(1,2), (2,4), (5,4), (7,4)
(3,8), (8,10)

Но цепочки могут идти и не последовательно.
Анончик, молю, спаси, нужно для реализации скрипта
Аноним 03/12/17 Вск 01:41:55  1101911
>>1101873
>Поясните за scrappy, когда надо его юзать, а когда чего попроще, в чём его преимущества перед BeutifullSoup, например?

Скрапи надо юзать когда у тебя вагон сайтенгов одинаковых и их надо регулярно парсить.

Написал парсер, а в скрапи все есть для запуска и хранения результатов.

Скрапи использует beautiful soup тоже. Но это не точно.

Если тебе надо какую-то простую хрень спарсить в джанге, юзай Requests и beautiful soup

Аноним 03/12/17 Вск 01:46:27  1101913
>>1101911
да вот их и юзаю, просто с фейсбука что-то так хуево всё парсится, что захотелось чего-то другого попробовать.
Аноним 03/12/17 Вск 11:57:19  1101995
Sicp для питона переводили?
Аноним 03/12/17 Вск 15:34:10  1102086
Как зделость зис ворк?
https://repl.it/repls/StarchyFearlessLorikeet
Аноним 03/12/17 Вск 16:22:08  1102106
>>1102086
Все, сделал сам.
Аноним 03/12/17 Вск 16:46:43  1102135
>>1101842
Бумп
Аноним 03/12/17 Вск 16:55:32  1102147
https://2ch.hk/pr/res/1102146.html
https://2ch.hk/pr/res/1102146.html
https://2ch.hk/pr/res/1102146.html
https://2ch.hk/pr/res/1102146.html
https://2ch.hk/pr/res/1102146.html
Аноним 03/12/17 Вск 18:44:41  1102264
>>1101911
scrapy вонючие фекалии

[Назад][Обновить тред][Вверх][Каталог] [Реквест разбана] [Подписаться на тред] [ ] 569 | 51 | 154
Назад Вверх Каталог Обновить

Топ тредов
Избранное