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
GIL
Суп, Питун. Есть один класс. Есть в нем переменная counter = 0. Есть функция, которая увеличивает ее при некотором условии на 1 (и в зависимости от его значения срабатывает всякая хуйня). В общем, я пишу в функции self.counter += 1, но это нихуя не работает. Срабатывает всегда условие counter == 0. Я уже и селфы эти убирал/переставлял местами, и global туда лепил, и все что хочешь. Что делать, Питун?
>>1094459КОД БЛЖАДЬ ТЫ БУДЕШЬ ПОКАЗЫВАТЬ ИЛИ НЕТ ПИДАРАСА ТЫ КУСОКМАМКУ ТВОЮ ЕБСУКА
>>1094459self.counter +=1И counter = 0Это ж разные вещи.Надо тогда и объявлять его как self.counter = 0
>>1094462А откуда там self-то? Я объявляю в пустом месте внутри класса. Если объявлять внутри функции по понятным причинам будет тоже самое. И к тому же твой довод не объясняет, почему условие if self.counter == 0 вообще работает.
>>1094461Ну охуеть. Это просто невообразимо сложный для представления код.https://pastebin.com/7QgDrU0N
А как в Django по-умному взять, например, десять постов из базы, и к каждому еще ровно по 3 комментария? Наверно как-то через группировку и count. Только я не знаю как.
https://pastebin.com/HquvYJ0DКак лучше всего ссылаться из OwnedBook на публикацию? Использовать genericforeignkey? Или есть третий, особый путь?
>>1094654Какая-то хуевая структура у тбея
>>1094658что конкретно тебе не нравится?не писал год а когда писал то писал не лучше
>>1094248 (OP)Я скачал портейбл WinPython-64bit-3.5.4.0Qt5, внутри которого есть jupiter notebook.Я запустил в жупите нотебуке следующий код:https://ideone.com/SDJRWhНа что получил ответ:ImportError: No module named 'ml_metrics'Мой вопрос в следующем - как сделать так, чтобы жупите нотебук нашёл модуль имя которого 'ml_metrics'?
>>1094459>>1094489Бамп.
>>1094680Что здесь >>1094654 не так?
>>1094483Блять, ну ты ты ебанутый что ли?>>1094483Филтруешь из базы 10 тредов, из каждого треда берёшь посты в обратном порядке(начиная со свежего) и всего лишь 3, из общей кучи.
>>1094701Блять, пикчи проебал.А вообще люди делают такую классную штуку, как __init__
>>1094701>Филтруешь из базы 10 тредов, из каждого треда берёшь посты в обратном порядке(начиная со свежего) и всего лишь 3, из общей кучи.Не, это классическая проблема N+1 получается.
>>1094704>классическая проблема N+1Я не в теме, пояснишь?
>>1094706Ну ты для каждого треда делаешь один дополнительный запрос в базу, это неправильно. Представляешь какая нагрузка? Надо как-то через джойны это все делать, а я так давно не работал с обычным sql и джангой что забыл нафиг.
>>1094709Ну может быть.Можно ограничить кол-во тредов на страницу и всё.Хотя подожду годно-ответа, пожалуй.
>>1094721Неее, вообще не катит. Если ты дома себе делаешь, то ладно, но в продакшене это путь в никуда. Это базовая sql'ная вещь, надо знать. И мне в том числе.
>>1094701>>1094703> Блять, ну ты ты ебанутый что ли?Нет, это Питун какой-то ебанутый. Ну ты же по сути скопировал мой код, если я в глаза не ебусь? У тебя работает, у меня нет.> А вообще люди делают такую классную штуку, как __init__Не знаю, что ты имеешь в виду в данном контексте, но я ее использую в других целях. У меня есть целое разнообразие функций pizda, и они все в нем вызываются, в общем, у меня этот класс просто как сборник функций.
>>1094728Скрин кода давай, может проебался где.Питон какой?>Не знаю, что ты имеешь в виду в данном контексте,Вот это имею ввиду.
алло, питонобогискажите что возвращается у вас:requests.get("https://hh.ru")у меня 404, ничего не найденоно оно есть в браузерея пробовал куки добавлять, чтоб как в браузере, даже с авторизацией и все равно 404что за дела, помогите
>>1094489>Это просто невообразимо сложный для представления код.Задача состоит в представлении конкретно твоего говнокода, чтобы найти в нём ошибки. И тут что-то самомму додумывать бесполезно, а ты, считай, просто сказал "ну у меня там тип что-то есь и вот если это делаю, то оно не работает". counter = 0 делает переменную классовой. Ты можешь к этой переменной обратится через self у объекта класса. Однако, как только ты делаешь self.counter = ... (+= != ++, если что, переменная не инкрементируется, ей просто присваивается новое значение, равное сумме прошлого и правой части, по крайней мере для примитивных объектов), у инстанса класса появляется поле "counter">Срабатывает всегда условие counter == 0.В выданном тобой коде — нет. https://repl.it/repls/ProudMessyBuzzardНо ты, я полагаю, маленько обосрался и скопировал код не из своего "проекта", где, наверное, пытаешься эту классовую переменную использовать именно как классовую, пытаясь обращаться к ней и инкрементировать из многих инстансов.
>>1094830Т.е. Объявление переменной в теле класса, без явного указания вхождения в его 'неймспейс' (я хз, правильно ли сформулировал) это посути заглушка, на случай обращения к этому аттрибуту? В чем профит по сравнению с объявлением в конструкторе в виде self.my_var.
https://github.com/KOLANICH/Pipeline.pyhttps://github.com/KOLANICH/RichConsolehttps://github.com/KOLANICH/HDDModelDecoder.pyhttps://github.com/KOLANICH/Cache.pyhttps://github.com/KOLANICH/NoSuspend.py - untested on linuxhttps://github.com/KOLANICH/bind.py - just a mad experiment. In fact it is sometimes slower.
>>1094854> это посути заглушкаНет. Это классовый атрибут. >В чем профит по сравнению с объявлением в конструкторе в виде self.my_var.В том, что это один общий на все инстансы атрибут получается. https://repl.it/repls/OldDarksalmonBarnowl
https://repl.it/@anon73/PlushMysteriousAzurevasespongeЕсть один скрипт, и он хорошо работает, но медленно, все изза того что там есть sleep. Пытался в многопоточность, но никак не могу понять как все работает, а сделать надо было еще вчера. Анон посмотри пожалуйста код. Есть список данных, большой десятки тысяч значений. Каждое значение подается в функцию. В функции высчитывается кое что, sleep 5 секунд, еще раз высчитывается и если полученное значение больше разрешенного минимума - пишет в бд. Работает это все хорошо но дико медленно вот захотел прикрутить многопоточность. Простота тут в том что данные между потоками не перемещаются интересен только результат. Я вообще все правильно сделал?
>>1094865Не нужен там sleep.
>>1094867Он для функции нужен. Я не хотел расписывать что функция делает что бы пост не засорять. Там просто для примера sleep print . Sleep значит что исполнение функции с каждым поданным параметром занимает некоторое время. От того если просто запускать многопоточно ее то потоки должны сами закрываться через определенный промежуток времени, завала не будет, думаю даже ограничение по потокам не нужно (да и я еще не понял как его делать). Я как то месяца 3 назад корпел над мультипроцессингом и у меня ничего не вышло, что то вот осталось в голове из того собрал. Еще помню данные надо было в буфер как то писать что ли что бы не захлебнулась БД, но в моем случае данных на выходе будет очень мало, и вероятность захлеба крайне мала. На крайняк в список соберу и потом уже запишу.
https://ideone.com/L4v3hgЗдравствуйте, подскажите, пожалуйста, что такое decimal = "," ?
>>1094888>что такое decimal = "," ?https://pandas.pydata.org/pandas-docs/stable/generated/pandas.read_csv.html
>>1094489> невообразимо сложный для представления>статический counter пачиму не работает через селфмхех
>>1094890Чёрт, а я на русском искал
Я лох корочё
>>1094890Спасибо
>>1094870>данные надо было в буфер как то писать что ли что бы не захлебнулась БДmaster-слейв + размазывание запросов по временишардинг
>>1094865>>1094870z=[[ 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 как я понял сама перебирает значения из списка и подает в функцию с каждым потоком. Тут контроль потоков уже есть, вроде как работает.
>>1094865> sleep 5 секундуже ведь async/await в 3.6 завезли, почему не перейдешь?
>>1094902Да он просто имитирует время работы некой тяжёлой функции, при чём тут асинк вообще? Ему это с нехваткой производительности никак не поможет же в любом случае.
>>1094865Если есть список данных и ты весь его юзаешь - попробуй использовать map.
>>1094922Ну вот с ним я выше написал.>>1094901Вот эти две строки в мое случае все что мне нужно? Да список, список сформирован из значений взятых с бд.
Доброго времени, а есть ту хохлы, которые ликпей к своему говносайту подключали?Что за хуйня, я нихуя не понимаю, доков нормальных нет, СДК для питона какое-то говно, там ещё импорт неправильный был и принт без скобочек.Короче, что там на фронте надо писать? Может пример у кого-то есть?https://github.com/liqpay/sdk-python
>>1094248 (OP)Посоны, хули эта ебала некоректно работает?https://ideone.com/MUpIbeДолжно рандомить слово и находить количество совпадений символов с заданным словом.
Анон, зачем нужны условные переменные threading.Condition(), если там же есть мьютексы? Где и как эти переменные применяют на практике?
>>1094979>Где и как эти переменные применяют на практике? Отправил сообщение в другой поток без ожидания ответа, потом перешёл к ожиданию.
https://career.ru/vacancy/23348385Хосспаде, почему я не в дс?
Суп, программач. Скажи мне пожалуйста, пистрон годится для шубуршания в памяти процесса? Считывание адресов, байтов и т.д.
>>1094762> Скрин кода давай, может проебался где.Блядь, проебался. Дело в том, что у меня класс пересоздается всегда. Ну пиздос, теперь придется делать внешнюю переменную, а ведь изначальная идея этого класса - собрать весь мусор одного типа в одну кучу, чтоб не мешался. Или этого можно как-то избежать?
>>1094924Попробуй multiprocessing.dummy(или типа того)
>>1094654Бумп вопросуКак вы поступаете если есть две сущности с общим родителем делаю абстрактной моделью например, или через ссылку на родителя и в дальнейшем нужно получать датасет из абстрактной модели обоих сущностей?
>>1095140Полный код давай, не стесняйся.
>>1095146Стесняюсь.
>>1095202Ну тогда ничем не могу помочь.
Так, это снова я с оплатой через хохлятский пейпал.Дело идёт, только есть одна проблема.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/'}Вопрос, что я делаю не так, учитывая, правда, то, что весь код взят прямо из примера в документации?
>>1095270Пример видимо для второго пифона.
>>1095275Да, сука, я только что сам понял, охуеть.Там и библиотека установилась для второго, я наверное, догадаться должен был, что pip install liqpay-python3.Или это в порядке вещей и я реально даун?
>>1095277> Или это в порядке вещейНет, это хуета какая-то. Так обычно в линуксовых пакетных менеджерах называют пакеты. На pypi (до этого момента) такого не встречал.
>>1095280Честно, я просто охуеваю.pip install liqpay-python3 устанавливает версию 1.1.1, в которой ещё и нет одного из методов, который у них в примере, на гите у них для 3 питона написана версия 1.0, при этом pip install liqpay-python3==1.0 говорит, что такой нихуя нет, а выбор только 1.1 и 1.1.1
>>1095284Ладно, хорошо, а может мне кто-то подсказать как инстальнуть из гита именно 3 версиюhttps://github.com/liqpay/sdk-pythonТам папка liqpay и в ней liqpay3.py и liqpay.pypip install git+https://github.com/liqpay/sdk-python#egg=liqpaypip install git+https://github.com/liqpay/sdk-python#egg=liqpay3устанавливает версию для второго
>>1095140>Или этого можно как-то избежать? Ну ты можешь, например, захуярить всё классовыми методами: https://repl.it/repls/RedFortunateIndianrhinocerosЭто всё, что я могу посоветовать не видя твоего кода и возможности исправить саму необходимость такого изврата.
>>1095288Во-первых, у них там при импорте всё должно чпокаться заебись. https://github.com/liqpay/sdk-python/blob/master/liqpay/__init__.pyВо-вторых, выглядит так будто liqpay-python3 на pypi поделка какого-то васяна, которая к https://github.com/liqpay/sdk-python не имеет отношения. Проверь всё ещё раз, ёпту.
>>1095297Со вторым согласен, но первое не работает, я проверял много раз, что там проверить можно-то?
>>1095288Скачай репу да запусти python3 setup.py install вручную. Можешь предварительно liqpay.py удалить вообще.
>>1095302Так он оба файла тебе в либу устанавливает, у тебя liqpay3.py тоже должен быть, и при import liqpay нужный и выберется же.
>>1095304Нужный не выбирается, потому что не работает код, плюс я по ссылке перехожу же из пишарма и он ведет меня на этот ликпей.Я пробовал просто менять код из репы и тогда всё работает. Или я чего-то не понимаю?>>1095303Сейчас попробую.
>>1095303Тоже не работает, очевидно поставилась вторая, потому чтоfrom urlparse import urljoinа неfrom urllib.parse import urljoin
>>1095310>поставилась втораяОни "ставятся" обе сразу. Импортируется нужная динамически по версии пифона.
>>1095312Ну там же написана версия 3.6, почему тогда для 2.7 импортируется?
>>1095310> from liqpay.liqpay import ...Бля, ну ты долбоёб что ли?! Тебе написали лопату, чтобы ты импортировал из liqpay и не лез дальше. Нет, хочу жрать говно руками, а не с лопаты! И это программисты?! Мудачьё!
>>1095314бля
>>1095314>>1095315Хотя хуй знает, с консоли всё работает, а пишарм говорит что не может импортировать и ошибку выдает
>>1095318Ну, значит пичарм к такому не готов.
>>1095320Только что всё переставил через setup.py и работает, спасибо, анонИ сорян за мою глупость.
Антон, а как вообще в реализации кастомных TCP/IP протоколов годно сами пакеты формировать?у меня есть несколько классов-оберток, например, ну и в сокет надо нахуярть это все в бинаре, варианты, типа:"{0:c}{1:c}".format(ord(somebyte), ord(someotherbyte))и их модификации со всякими битовыми сдвигами если нужно передать WORD/DWORD -- вот это вот все, чую что строкой с форматом это какой-то дикий костыль.курить struct? или это ваще мимо?
>>1095331https://pythonistac.wordpress.com/2017/03/09/python-network-packet-dissection-frameworks-shootout-scapy-vs-construct-vs-hachoir-vs-kaitai-struct/
>>1095331"This can be used in handling binary data stored in files or from network connections, among other sources." по-ходу оно. первый вопрос снят. теперь если у меня в пакете битовые поля, например два по четыре - чо только побитово двигать и суммировать? или и для битовых полей есть чо?
>>1094901Провел ядерные испытания. Скрипт захлебнулся, просто повис. Подозреваю что тут либо дело в том что запущено с виртуалки либо что то в теле скрипта ему мешает, пробовал убирать почти все функции становилось лучше, но все равно зависает, чуть позже. Что самое интересное отрабатывает в 2 потока нормально, в три виснет. У меня еще сеть задействована может какие то ответы на запросы не получает и затыкается. А еще момент если например вместо 1000 элементов в списке подать 100 и вьебать 25 потоков то он пулей выполнит, а если поставить 3 потока и из 250 элементов список то он повиснет, а бывает дорабатывает. Но если после того как он отработал снова запустить то он быстро повиснет. Как будто лимит какой то на данные. Память на виртуалке не нагружена, диск тоже, проц свободен. Либо сетевуха захлебывается, но нереально в 3 потока там данных крохи. Короче результат как бы там ни было есть - в 2 раза я его ускорил. Будем учиться, читать мать часть и прочее, разберемся. Спасибо всем кто помогал.
Господа питонисты, небольшая группа анонасов решилась актуализировать старую библиотеку для упрощения работы с api двача. Половина пути пройдена, но нам нужна помощь с завершением и возможно пересмотром архитектуры библиотеки. Будем рады любой помощи. Писать в телегу @dexofan или @lorem_ipsumxxx
>>1095431Без сорцов пройди нахуй.
>>1095439https://github.com/anonim-legivon/dvach.api
>>1095441Уже лучше, гляну потом.
>>1095445В телегу только напиши, добавлю в конференцию.
>>1095446Рекомендую TODO-файлик написать.
>>1095448Это довольно сложно, по возможности todo есть в api.py. Вся разработка будет на ветке dev. Смотреть там.
>>1095448>>1095452А вообще нужно допилить грамотную отправку сообщений и класс-payload для них, прикрутить работу с пасскодами и написать обработчик исключений, потом логгирование. Ну и помимо этих целей как фикс багов (похоже не все работает так, как ожидается) и допил нового функционала.
>>1095456Угу, понял, помогу.
>>1095461Пасиб :*
>>1095456>прикрутить работу с пасскодамиЛоггер пасскодок не забудьте.
>>1095481Не, зачем. Попенсорс же))0
>>1095483Так вы ж так мастерство покажете своё, в опенсоре логгер спрятать!
>>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). Всё равно ваше говно никому не нужно
>>1095568Ну так присоединяйся и помоги, мы нафани.
>>1095394>сетевуха захлебываетсяподними лимит на дескрипторы, там по дефолту вроде всего 65к
>>1095568Что не так с хард код методами и как их заменить? Что не так с классом Post и как фиксить?
>>1095573Нет!>>1095576> Что не так с хард код методами и как их заменить?Это же api! Нахуя делать мимик методы api? Просто повесьте на __getattr__ генерилку методов и всё.> Что не так с классом Post и как фиксить?Нахуя он наследуется от object?
Какая у кого зп?
>>1095441Ребятки, посмотрите, как сделан vk_api. Вам стоит сделать нечто похожее.
Смотрите какая yoba! Свеженькая!https://github.com/encode/apistarЕще и с asyncio. Взлетит?
>>1095807define "взлетит"
>>1095578От api одно название, посмотри сам и подивись>Нахуя он наследуется от object?архаизм, поправили
Поясните как запилить корзину в магазине.Есть класс бейсед вью DetailView с продуктом, в котором я создал метод post, чтобы отправлять форму с количеством продуктов, размерами и прочим.Смотрю в сторону сессий, но нихуя не могу понять почему у меня счетчик каждый раз обнуляется. Вот говнокодhttps://pastebin.com/Le7JPdbcМожет надо вью другой использовать? И ещё как мне вернуться на ту же самую страницу красиво, потому что последняя строка не работает, говорит нет object.Хотя мне вообще кажется что я какую-то хуйню делаю, так что если кто-то подскажет, то буду крайне признателен.
>>1095905Форма там просто по модели продукта с тремя полями, в request.post приходит вот такое{'color': '3', 'size': '2', 'count': '2', 'csrfmiddlewaretoken': 'EumG12uNICe2q6iUx91KNJV1nti5XL5uNHznFMwNG5MGBV6y'}
>>1094248 (OP)Анан, есть мнение, и не только мое, что с опредленным незавидным бекграундом в веб на питоне имеет смысл соваться только как уже миддл разработчику. Теперь мой вопрос: как мне узнать что я уже мидол? Есть ли гост какой, что должен знать и уметь мидл?
>>1094248 (OP)Анон, подкинь идей для проекта, чтобы освоить ооп и наследование?
>>1095968запили сабстанс дизайнер на нодах блендаря, я накутю если чо
>>1095970>на нодах блендаряЭто где-то под Москвой?
>>1095971нахуй дрочить писун если не ради блендаря!?
>>1095973Ради вебчика. Нахуй нужно 3д если есть 2д?
Я там где мокрый бетонОбвивает трубы кольцамиКак французский батонВ подворотне притонОставь дома свой берберри виттонУ удали с ноута два-семь питон
>>1095974>2ддля пидоров, поверь мне, ничего там хорошего нет, вообще везде где просто, осядают тупые пёзды и ванильные хуи из обеспеченных семей, похуй вообще на конкуренцию, тебе тупо пообщаться не с кема для вебчика ничего кроме модного молодежного жса нинужно, еще лет 5, ясрипт научится понимать человескую речь и наступит ренесанс мира высоких технологий лол
>>1095976красиво стелишь фраерок
>>1095977>вообще везде где просто, осядают тупые пёздыПАНЧ
>>1095977>а для вебчика ничего кроме модного молодежного жса нинужноНу не траль плиз? Зачем так говоришь
>>1095979>ПАНЧзря теряю с тобой время>>1095980>Зачем так говоришьпотому что жс везде, он свободный и живой, он развивается вместе с нами, под наши стремительно развивающиеся же задачи, это лучшая абстракция которую создало человество после ислама
>>1095982Ислам это абстракция над чем?А за апокалиптические жс-бредни тебя надо в психушку сдать.
>>1095977Еще лет пять, и все бизнес задачи будут решать нейроночки писанные нейроночками, а люди будут ползать по шею в мазуте и радиоктивном пепле
>>1095461Ну что, анончик? Чего на связь не выходишь?
Сап анчоусы, хелпаните хотя-бы в теории: надо придумать скрипт, который будет слушать сеть и принимать запросы, например json-rpc или что-нибудь подобное. Он будет принимать IP куда поставить и текст плейбука и запускать с этими даннымиглавное, чтобы можно было вызвать его из руби
Анон, посоветуй книгу( желательно на рус) пo Django
>>1094703попробуй писать Huy.counter
>>1096136Зойчем?
Помогите ньюфагу. Хочу написать генератор пароля. Сперва юзер вводит число(длину пароля) от 5 до 20Затем это число определяет длину пароля, сам пароль состоит из рандомных числе от 0 до 9 соответственно
>>1096139зотем что это переменная класса а не экземпляра класса, и обращатся к ней нужно не через имя экземпляра а через сам класс
>>1096141>>создаешь строку из символов, потом выбираешь random.choice(строка) из строки случайный элемент и прибавляешь его к строке - поролю
>>1094248 (OP)Поделитесь как вы пишете код. Вот стоит перед вами задача. Какие действия вы совершаете в первую очередь, какие потом и так далее.
>>1096168>как вы пишете кодтебе нужно посмотреть ролики картавых хохлов с ютуба, про введение в программирование, прежде чем учить синтаксис нужно понять почему это вообще так, а не по другомумне очень помогло все окончательно упорядочитьну в двух словах каждую задачу тебе надо разложить на переменные, а потом подумать как с ними чото сделать что бы было нормсамое главное тут поставить чоткую задачу, а не просто подрочить, потому как дрочь бесконечен и радости там нигде нет
Я ньюфаг. Пытаюсь в Рython, и основы вроде бы освоил. Можете вкратце рассказать о том как блять пользоваться GTK?? Я уже неделю пытаюсь с ним разобраться и так с места и не сдвинулся. Пытаюсь юзать GoGTK. Уроков катастрофически мало, а по тому что есть, вылезают какие-то ебанутейшие ошибки.Вобщем с чего начать изучение PyGTK?
https://ideone.com/O1awo3Где я обосрался Анонче?-учу_питон_2_день-кун
>>1096238self'ы проебал, и все базовые классы всегда от objecta'a наследуй
>>1096240Куда эти self'ы писать то?
>>1096242Ладно пойду книжки почитаю, тут явно с наскока с опытом только в паскале не осилить.
>>1096240> и все базовые классы всегда от objecta'a наследуй
>>1096240Это только для питон 2
Уважаемые питонисты, решил из интереса подрочить отрисовку графикиВ стандартной библиотеке присутствует что-нибудь для этого, кроме turtle?Интересуюсь в целях собственного аутизма
https://ideone.com/frujyaЗдравствуйте, я хочу запустить код из статьи с сайта habrahabrhttps://habrahabr.ru/post/206306/И когда запускаю, то получаю ошибки на приложенной картинке. Как пофиксить? Скажите, пожалуйста.
>>1096357P.S. Если что, то csv файл по этой ссылке:http://dropmefiles.com/xkFUD
>>1096351тикель жи
>>1096236
Хочу захуячить бота в одной игре(не браузерка). С чего мне начать?
>>1096457Просниффай трафик Wireshark'ом, например.
поясните почему не работает простенький парсерhttps://ideone.com/llETMxКак я понимаю проебался с работой файла, то ли он вообще не видит файл, то ли не видит там строкисам код работал, если вставлять не файл, а пример одной строки
>>1095575Анон подскажи пожалуйста про что ты. Я не знаю что это. Нашел какие то лимиты на дескрипторы обращения к файлам но это не то же? Именно с сетью что то связано? Такого не нашел.
поправил парс, вот https://ideone.com/5C2zM5но парит только первую строчку в файле, как по остальным пойти
DjangoОдна и та же ошибка при попытке вывода сайта в домашней директории, что до создания html документа, что после. Что я не так сделала?
>>1096674ребят, ну помогите пожалуйста я сейчас психану, перерыла по этой ошибки статьи, но там все сводится к действиям которыя я не совершала
>>1096674Блджад, тупые сельди не могут в программирование.Тебе черным по желтому написано: ШАБЛОН НЕ НАЙДЕН
Посоны, а как из C расширения вернуть в питон массив си-типа, а конкретно ctypes.c_float?Суть вот в чём: есть одно OpenGL приложение с использованием pyglet'а. Расчёт всякого дерьма и возврат тупла с координатами вершин делается в C, занимая почти нихуя времени. Далее есть VertexBufferObject, в который можно передать массив GLfloat'ов (что является тем же ctypes.c_float'ом) и отрисовать, этот шаг тоже занимает почти нихуя. Но вот переделка из тупла в массив c_float'ов в самом питоне занимает оче много (раза в 4 больше всего остального), и хотелось бы как-то оптимизировать этот шаг. Возможно, тогда и первый упростится, ведь создавать PyTuple и уже не надо будет.
>>1096735>тупые сельди не могут в программирование.Может это ты глуп?Я чётко указала что шаблон создан и путь к нему указан, а ты и капитан очевидно гугл транслейт моего скриншота копируешь. Я первый день осваиваю python и django, меньше агрессии, тем более в разделе ДЛЯ НОВИЧКОВ!
>>1096769Или что ты мне сделаешь, шлюха?Без полного кода ты, как обычно, соснешь хуй.
>>1096770жизнь с тобой уже достаточно сделала, что бы мне не трудится. должен ты ведь знать примерные причины из-за которых не выводится созданный html шаблонhttps://tutorial.djangogirls.org/ru/html/ делаю по этому руководству точь в точь, смысла кидать код нету. Я уже отладку запускала, всё в ноль
>>1096773>должен ты ведь знать примерные причины из-за которых не выводится созданный html шаблонПримерные причины тебе сама джанга уже написала. Неси код, ёпту. Тут не раздел новичков, если чо.>смысла кидать код нету.Cмысла помогать, выходит, тоже? Может у тебя там опечатка где-то, чёрт возьми.
>>1096773Бгг, даже русского языка не знает. Есть подозрение, что и в английский не может, а ведь ещё и сюда лезет!Ага, должен. Таких примерно ∞, вплоть до погоды на Марсе. А это не погугли-за-анона-тред.
>>1096674'DIRS': [os.path.join(BASE_DIR, 'templates')]в настрйоках там где темплейты
>>1096783Хуя ты экстрасенс.
>>1096784Ну а хули варианта 2 либо так, либо неправильно директории создала
>>1096787Ну, тащемта нет... >>1096776Вообще, первым делом приходит в голову вариант с кривой спермой.
Здравствуйте, скажите, пожалуйста, полиномом какой степени можно более-менее смоделировать экспоненту? Степень желательно как можно меньше.Я смотрел видео и там нейронка подобрала полином 3 степени для синусоиды. Подскажите, для экспоненты степень какая подойдет?
>>1096792Давай тогда код сюда и темплейты должны быть в одной директории с manage.py templates/blog/post_list.html
>>1096801Ты промахнулся реплаем.
>>1096801>>1096783спасибо, попробую разобраться.код приложить не могу, не получается обновить файлы на гитхабе через команды гит с локального репозитория, проблемная я
>>1096871Для Гита фронтенд типо SourceTree ставь, рановато тебе ещё.Там Commit и Push.
>>1096875>>1096801>>1096783>>1096735Он прав, я тупая сельдь Прописав в views путь к хтмл документу, не дописала само расширение "html" а лишь имя файла простите
Как запилить единый бинарный файл?
>>1096887Под какую платформу хоть?
>>1096893Под винду 10.
>>1096375Можно точное название? Не могу найти
>>1096907Tk/Tcl. Сразу говорю, гиблое дело. Лучше какой-нибудь wxPython.>>1096904Пикрил.http://docs.python-guide.org/en/latest/shipping/freezing/
>>1096907>>1096918А, и он не факт, что под никсами в составе std поставляется, так что это не искаропки работает.
>>1096918>Пикрил.спасибо, няш
for a in description: for q in description[a]: print(q)как написать такой код в джанго темплейтах, учитывая, что description это словарь, а description[a] это список
>>1096918>гиблое делоребятам з галандии ток нигавари
>>1096918>какой-нибудь wxWidgetsи да, вот уж что сука настоящее тлен и безысходность
>>1096736Сделал malloc для массива float'ов и возвращаю адрес прямо в питон (VBO как раз указатель на массив и просит).Это совсем пиздец или по-другому никак? Работает всё супер-быстро, мне нравится.
>>1097007Молодцы, осилили, хуле. Для простых задач эта поебень слишком гибкая.
>>1097052лолшто
>>1094248 (OP)Test
>>1097057А, так ты ей не пользовался.>>1097059→ /test/
Наконец-то появилось желание разобраться с PYQT5 и скажу вам - это офигено. Отлично поддерживается pyinstaller, успешно заворачивается в exe. На юниксе еще не пробовал. Заметил еще такую вещь, что сейчас библиотеки лучше протестированы на третьем питоне 64bit.
>>1097073Не поможешь мне разобраться? Хотя бы какие-то основы. Вкинь свой мэил или напиши сюда [email protected]
>>1096920>не факт, что под никсами в составе std поставляетсяв пайтоне есть, там не биндинг а реализация
>>1096875>рановатоЧто там рановато? Запомнить 6 комманд init, pull, push, commit, rebase, checkout?ебать сложна
>>1096629> но это не то же?Хз, по тому что ты описал, мне кажется словно у тебя превышение лимита дескрипторов на процесс, абстрактно пишешь.
>>1096796Ты тролешь? На бесконечности всегда экспонента будет расти быстрее полинома. А значит, твоя задача решаема в узких рамках значений независимой переменной. И ответ зависит от диапазона этих значений и допускаемой ошибки.
>>1097005description.a
>>1096796https://en.wikipedia.org/wiki/Taylor_series#Exponential_functionВозьми да сам потестируй и посмотри, насоколько малая степень тебя устроит.
>>1097085Это оче сложная система. Ты сам просто не разобрался.>>1097075Сначала обычный Qt осиль, там не очень сложно. Ещё и Qt Creator упрощает.
>>1097099С чего начинать обычный qt учить?
>>1097075>основыу них есть канал на тытрубе, плюс туторы от разных левохуева вообще хуле там сложного, таскай себе формочки да бинди хуинди
>>1097100С установки Qt Creator? Гайды в сети.
>>1097100с постановки задачи
могу разве что сказать что не советую онлайн установщик, его вопервых хуй найдешь на блядском сайте, подсовывают платную версию, а опенсосрсную в очко запихали, так вот эта хуйня потом сутки 50 гигов выкачивать всякого мусора будет, качай офлайн паки там по гигу - три, чисто что нужно
Установил питон, открываю книгу укус питона, там написано для проверки установки введите в цмд: python3 -VВвожу, пишет что команда не найдена, что я уже не так сделал?
>>1097209напиши python2
>>1097209
>>1097209вот так вот>>1097212
>>1097209Потому что python3 --version
При установке нажал на добавить в ПАТХ, что я делаю не так?
>>1097099>Это оче сложная системаmerge-tree не осилил?
>>1097216Не добавил. Перезагрузись, это говно ENV не сразу подхватывает
>>1097219Я уже пусть по умолчанию поставил, не знаю. Перезагрузился, ничего не работает.
>>1094248 (OP)Блин я тупой что делать? Туплю даже над простыми задачами, которые по идее должны решаться за 10 минут.
>>1097224В азы вникать.
>>1097230Да в азах уже итак по уши. Не получается эти азы друг с другом правильно комбинировать, чтобы результат выходил. Потом когда смотришь решение задачи над коорой полдня ебался без результата, то все кажется просто и без задних мыслей. Но вот самому додуматься не выходит.
Посоветуйте чего почитать по ООП в Python и всяким builtints классов
Как можно сохранить файл в памяти, чтобы потом его можно было либо заново открыть, либо имитировать такую строчку: open('photo.jpg', 'rb')
>>1097264Все, справился сам.
>>1097039Главное чтобы клинап был. У нас делалось так: вызывается из си коллбек питоний, он передаёт указатель в другую функцию. Потом, когда сишная функция заканчивается, заканчивается питоний коллбек, тогда уже первая сишная функция может удалять объект.
>>1096769>в разделе ДЛЯ НОВИЧКОВ!Это не раздел для новичков, ёпту! Я тут сижу и я не новичок!
КАК открыть websocket, отправить и принять одно сообщение, как в HTTP/S?Пикрелейтед тупо зависает на .recvК серверу доступ не имею, но мне известно что он поддерживает websocket. Отправить надо "dict".
>>1097361Бля... ну ты и тупой или жирный.
Починил. Ну всё, питон, держись!
>>1097361Сокеты от вебсокетов не можешь отличить? Вангую JS-макаку.
Аноны, подкиньте родной литературы по проектированию web приложения. Что в models сунуть, что во view and etc?Если там будет расписано про проектирование приложений в принципе - тоже отлично.Но хотелось бы подробней про веб, в частности django/flask.
>>1097388Cинхронно websockets работать как нибудь можно заставить?
>>1097393Я вообще мимокрокодил. Отдели сначала мух от котлет: разберись, что такое сокеты, и чем отличаются от вебсокетов.
>>1097389Шапка, довен.
А правда, что роботы с нейронками вытеснят с работ людей? Не будет пролетариата, не будет бухгалтеров и экономистов. У богачей будут роботы, будет ещё больше, прямо море денег и ресурсов, пролетариат станет абсолютно бесправным и богачи будут насиловать толпами юных женщин и устраивать гладиаторские бои между мужчинами?
>>1097405Нет, мяско дешевле робота всё равно будет.
>>1097405Да. А в конце всех разнесет в жидкость LCL
>>1097393Для начала нужно, собственно, установить библиотеку для вебсокетов. Например, есть одна с довольно очевидным названием: websockets.>>1097358>Главное чтобы клинап был.Это есть. В __del__ объекта же норм запихнуть вызов сишной функции, освобождающей память? У меня в другом месте хранится адрес некоторой кучки данных, привязанных к этому объекту, которые туда-сюда таскать накладно очень было бы.
>>1096192Что за картавые хохлы? Как канал зовется?
Вечер в хату. Где я могу подробнее узнать о классах? Книги, мануалы?
>>1097483Двачую вопрос. Разобрался с функциями теперь хотелось бы понять что такое классы и зачем они нужны.
>>1097238Бамп>>1097483Бамп
>>1097483оф дока питона. если не можешь в англ - https://www.ibm.com/developerworks/ru/library/l-python_part_6/index.html
Ребятки, ищу хороший способ хранить состояние программ (например, скрипт что-то парсит огромное, а сохранять в файл низя, т.к. вдруг наебнется все!) где-то, чтобы было удобно и красиво! Как прям во всяких nosql дб! Интересует больше именно python решения, а запрос в гугл сделать нормальный, чтобы выдало ответы, у меня просто не хватает мозгов, так что если что - шлите меня нахуй.
Аноны, есть такая задача: нужно из html страницы вытащить линк элемента. Я так понимаю, beautifulsoup для этого оптимален? Или есть что лучше?
привет я ньюфаг помогите я использую апи Абуimport requests, jsonurl = '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 и я мог нормально вызывать всякие хуйни?
>>1097639Делай чекпоинты и сохраняй в файлы/db. Другого способа нет.>>1097649Да. Нет.
>>1096118djbook.ru
>>1097650Попробуй тогда костылем переопределить data = data[0] чтобы избавиться от листа. А если у тебя только в таких случаях возникает лист, то поставить условие что если у тебя после запроса приходит лист, брать нулевой элемент
>>1097649Ты имеешь ввиду url тега 'a' ?
Доброго времени суток, есть короче класс, а в нём 2 метода. Методы по ссылкеhttps://pastebin.com/Zv6waw3YСуть такова, что словаре моём всегда есть одно лишнее значение, которые я перед итерацией хочу убрать, что, в общем-то и делаю, но в self.cart.values() всё равно остаётся это значение. ЧЯДНТ?
Посоветуйте книжку или курс где было бы много практики.
Есть 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 всегда, что не так?
Калякаю разбор файлов с тестовыми задачками и вариантами ответов в формате docx на Python. Вроде бы парсинг получается, фактически построчным, но я где-то проебался в логике.В результате, я ожидаю, что когда скрипт находит строку с номером в начале, он считает его вопросом, иначе - ответом на вопрос, который был добавлен последним в список вопросов. Но, на деле, он правильно разбирает вопросы и валит ко всем экземплярам вопросов все доступные ответы. У меня уже замылился глаз и я не могу найти свою ошибку.Скрипт: https://pastebin.com/Pnw13MHM (требуется python-docx)Файл, на котором можно потестить: http://ge.tt/7EgCQUn2Заранее спасибо.
Опять врываемся со своим говном https://github.com/anonim-legivon/dvach.apiГоспода гуру, обоссыте наше поделие по делу, пожалуйста ;з
>>1097480я щас уже не найду, там 15летний хуй понтуется 32 гигами оперативки и поесняет за кресты, но помимо этого есть основы за кодинг в целомпросто вбей основы блять
Чуваки, надо из любого текста выгребать имена авторов книжечек. Как это проще всего сделать питоном? А как правильнее? А чего загуглить помимо очевидного text processing with python? Может кто чего видел такого на гитхабе?
>>1097873Почему просто не удалить ключ командой "del dict[key]"
>>1097927Self.answers=[] в инициализатор перенеси.
>>1097952Ну во-первых они имеют формат А.Я.Клешня.То есть много точек, заглавные буквы и тд. Во вторых, они в общем распределении по частоте будут в хвосте.
>>1097952Ну regex'ом если ток, либо ищи нейросеть
>>1097875codewars
А можно как-то разбить определение класса на несколько файлов?
>>1098058Поподробнее
>>1097928Бумп, нужна конструктивная критика
>>1098062user agent подставляете чтобы думали что пользователь зашел?
>>1098065Ага, сделали ещё поддержку смены заголовков и прокси. Кому нужно прикрутит библиотеку fake_useragent и будет каждый раз менять headers в цикле. Эт вообще если кто-нибудь соберётся делать вайпалку, но тогда надо будет ещё капчу решать сторонними сервисами с:
>>1098065Если желаешь присоединиться, то пиши в телегу @dexofan
>>1098077я долбаебокодер
>>1097960Добра, помогло
>>1098058Вряд ли. Только если разбить сам класс на базовые классы / миксины, с которых наследоваться
>>1098230>>1098058С такими реквестами к руби с его консернами.
Питоны, нужно случайное количество случайных чисел в определённом промежутке.Как это организовать?Дважды через randint?
>>1098309Чекни numpy библиотеку
>>1098309Ну если инты нужны, то да. Можно через нампи с указанием количества сразу:>np.random.randint(start,stop,size=np.random.randint(np.random.randint(np.random.randint(Однако с количеством надо бы немного определиться, хотя бы примерным.
>>1098324>>1098328Ага, спасибо.
Так, ещё вопрос: функция возвращает минимум 2 значения.Как их "разбить", чтобы можно было написать: "Такой-то параметр равен "Значение1"", "Такой-то параметр равен"Значение 2""?
>>1098354Получается он кортеж возвращает, попробуй записать типаa, b = func()print 'a:',a,'b:',b
>>1098359> print 'a:',a,'b:',bУбью нахуй.
>>1098366поч?
>>1098372> print 'a:',a,'b:',bPython 2
>>1098375На работе заставляют быть геем и писать на 2.7
>>1098378Нет, я пояснил почему его нахуй хотят убить.> print 'a:',a,'b:',b> Убью нахуй.
>>1098378
Двач, устал от пичарма, лагучий as fuck. Что посоветуете? Что скажите за atom?
>>1098391Пичарм — божественная вещь, ты просто неправильно его готовишь.Как именно лагает? Сколько RAM?
>>1098393Он не то, что бы лагает, загружается долго, и если нечаянно клацнешь по нему будь готов смотреть на долгую загрузку. Хочется чего-то более легкого.
Почему везде пишут, что python тесно связан с linux?
>>1098395А, так это не такая уж и проблема.> чего-то более легкогоОчевидно, автодополнения/рефакторинг/прочие фишки пичарма будут гораздо хуже/их не будет совсем.Atom, случаем, не на GitHub Electron? Видишь это название — сразу бросай говно от веб-макак.
>>1098396> вездеГде? Он связан с тем, с чем ты его свяжешь.
>>1098397Я просто загуглил best python IDE, везде на первом месте либо PyCharm, либо Atom.>Очевидно, автодополнения/рефакторинг/прочие фишки пичарма будут гораздо хуже/их не будет совсем.Для этого есть IPython
>>1098391Vs code годнота
>>1098451Параша на электроне.Помню, из-за него баг был: мерцание курсора в одном окне отжирало 13% CPU. Сейчас как-то обошли. Но все ещё говно.
>>1098391если пичарм лагает - купи макбукбазарю, пользоваться на нем пичармом одно удовольствиеа вообще vim или spiderпо-мелочам так и вовсе можешь обмазываться jupiter notebook - он охуенен и пиздат
>>1098455его же переписали
>>1098474Переписали на что-то более нативное?
>>1098451>>1098455vscode реально пиздат, базарю, ещё захочешь.
>>1098309https://docs.python.org/3/library/random.htmltl;dr random.sample
>>1098324Вот это перебор для его задачи
>>1098309>>1098523https://ideone.com/pfQiAq
>>1098525>>1098523> list of unique elementsМне кажется, это немного противоречит условию.
>>1097075Если на тытрубе нету на русском, то возможно я запилю. Я пока осваиваю технику разделения логики и интерфейса. Так считается правильно.
В питоне аргументы функций мутабильные? Если я их изменю в функции, то дальше в функции будет измененное значени?
>>1098599Мутабельными или иммутабельными могут быть типы, а не аргументы функций.Если же ты просто спрашиваешь, можно ли сделатьdef x(a): a = 1 return 1print(x(9999)) # 1то да, разумеется. Но это ты просто переменной a присвоил новое значение.
>>1098600return a там, конечно же.
>>1098598По pyqt есть на русском, но всё это уровня "делай по шаблону просто по тому что так надо" Нигде не объясняются именно основы- что и зачем пишетсяА вообще пили. Пользы много будет
Аноны, зацените мой спизженный с гугла многопоточный сервер. Он сможет обрабатывать параллельно несколько соединений в разных потоках? Если нет, то как его можно модернизовать? Есть ли возможность выводить id активного потока, чтобы хоть контролировать правильность работу сервера?
>>1097942Он? https://www.youtube.com/watch?v=9Rrz6F6IlHQ&list=PLwwk4BHih4fhL9CVAaNXy_DbtugjnOvKy
>>1098625Многопоточным его можно назвать лишь условно. Потоки вроде есть, но в каждый момент времени может выполняться только один. Если хочется паралелльности, то смотри в сторону asyncio, либо запускай несколько однопоточных инстансов своего сервера.
Что почитать по алгоритмам?
Питоняши, помогите с такой задачей:https://pastebin.com/5iPg5KNYЯ с сокетами/запросами почти никогда не сталкивался, поэтому не могли бы вы подсказать:1) Что в этом случае означают два порта, как их использовать?2) Как вообще сделать такой запрос? Тут requests хватит или нужно что-то через sockets придумывать?
>>1098462У меня вместе с anaconda поставился jupiter, только я ещё не вкурил всей сути. Его в браузере каждый раз открывать?
>>1098643> Потоки вроде есть, но в каждый момент времени может выполняться только один.Для ввода-вывода пойдет.
>>1098655>Я с сокетами/запросами почти никогда не сталкивался, поэтому не могли бы вы подсказать:>1) Что в этом случае означают два порта, как их использовать?>2) Как вообще сделать такой запрос? Тут requests хватит или нужно что-то через sockets придумывать?Это не просто сокеты (berkeley sockets), а какое-то флешевое говно. Если я правильно понимаю, тебе надо установить Tcp-соединение и послать внутри него сформированный нуль-терминированный xml.Зачем два порта, не имею ни малейшего представления. Возможно, один из портов должен как-то указываться в самом xml.Гугли по XMLSocket.Повторяюсь, задача не на питон, а разобраться в проприетарном говне.
>>1098643В питоне нету многопоточности?
>>1098703С чего ты взял?
>>1098689Спасибо,>Это не просто сокеты (berkeley sockets), а какое-то флешевое говно.да, но там оказывается есть возможность послать JSON>Зачем два порта, не имею ни малейшего представления.Мне еще докинули доков по платформе. Насколько я понял второй - порт на который переадресуется вызов с первого уже на самом сервере. Т.е. нам нужен только первый.Итого у меня получилосьhttps://pastebin.com/jqmw4sZBВсе виснет на socket.recv - судя по докам, это значит что мне ничего не послали в ответ/закрыли соединение.Т.е. делаю я по сути все правильно, проблема в самой платформе/адресах/запросе?
>>1098706>Т.е. делаю я по сути все правильно, проблема в самой платформе/адресах/запросе?Да.Ты еще забыл терминирующий нуль в запросе. И я думаю сервер хоть что-то да должен отвечать.И еще изучи неблокирующие сокеты, это чтобы recv не вис.
>>1098676суть в том, что бы делиться с темным не программерским народом скриптами особо не заставляя их чет устанавливать и тдну и удобно, че, крутится себе в интернете где-то твоя страничка с кучкой скриптов "по темам" куда ты из браузера зайти можешь и пользоваться
>>1098391Emacs вроде годнота. Правда входной порог выше чем у вскода или пайчарма.
>>1098643>Если хочется паралелльности, то смотри в сторону asyncioлолштоУж вот от кого, а от asyncio точно никакой параллельности ждать не стоит по определению.
Как написать асинхронный for in (max threads = 10000)?
>>1098703Да гонит он. Есть posix-треды. Но ускорения вычислений это не дает, в один момент выполняется только один тред. Но для задач, ожидающих ввода-вывода это подходит, если только тредов разумное количество и они не каждую секунду создаются/завершаются.Для распараллеливания вычислений, когда все ядра проца загружены, есть мультипроцессинг.
Есть один бот (для вайбера), и он не хочет работать абсолютноПроблема в том, что там используется Flask для обработки запросовСначала запускаю сервер, потом устанавливаю вебхук для вайбера, и он стабильно при запуске возвращает 502 ошибку. Если обращаюсь по адресу уже после запуска приложения – отвечает нормально. Как я понимаю, Flask запускается асинхронно? Есть ли возможность выполнить команду после старта фласка?
>>1098856А вам так много зачем? Супер-компьютер в подвале нашли?
>>1098888Как сделать? Количество потоков неважно
>>1098738Спсибо>терминирующий нульПока гуглю и не нашел: а что это такое и как его добавить в запрос? да, я вообще в этом не разбираюсь
>>1098886Фласк синхронный.Ты чего-то не того наворотил. Смотри логи-дебаги.
>>1098896Это в сишке строки принято оканчивать нулевым байтом. На сайте адобе я нагуглил что в xml-сокетах данные тоже должны им заканчиваться. Добавь '\x00' или b'\x00' (питон3) в конец того, что шлешь.
>>1098900Попробовал - все равно 0 ответа от сервера, буду дальше разбиратьсяСпасибо
>>1098897Да смотрел, ничего дельного не нашелПросто если после app.run() вызывать например print, то он срабатывает ПЕРЕД сообщением о том, что сервер запущен
>>1098932>Просто если после app.run() вызывать например print, то он срабатывает ПЕРЕД сообщением о том, что сервер запущенЭто нормально. хттп-реквесты фласк обрабатывает синхронно, я вот о чем. А служебный вывод видимо как-то по хитрому кэшируется. Короче забей на это.
>>1098927Тебе вообще что надо, рабочего клиента эмулировать? Дамп трафика тогда проси.
>>1098949understandable, спасибо за разъясненияКстати, аноны, если кто-то писал на питоне ботов для вайбера, отпишитесь мне, есть пара вопросов
>>1098892from multiprocessing.pool import ThreadPoolpool = ThreadPool(n)pool.map_async(func_containing_for_body, list_of_stuff)...pool.close()pool.join()
>>1098962Это вставлять в for in loop? Напр. 1000000 entries нужно обработать.for entry in somelist:action_with_long_response(entry)
>>1098886А где инфу нашел по написанию ботов для вибера? А то мне пригодилось бы, а долго втыкать в апи лень
>>1098982Нет. Это писать вместо фор лупа:>pool.map(action_with_long_response, somelist)map или map_async выбирай в завимости от того, надо ли тебе что-то делать пока все эти элементы обрабатываются (т.е. map() блокирует основной тред)/
>>1098960>>1098984Нахуй вам этот глючный вибер?! Телеграм же есть!
>>1099062У меня там коллеги-старперчики сидят. И хвала аллаху что они хоть со скайпа съебали
>>1098984https://developers.viber.com/>>1099062Нужно параллельно сделать ботов для вайбера и тг, со вторым уже давно всё готово, а вайбер всё портит
>>1098650Если еще актуально - отпишись в телегу @malomalsky. Скину годную книгу
Короче, есть ManyToManyField, но в формах я хочу чтобы она отображалась как просто селект с возможностью выбрать один вариант, как это можно сделать?
>>1099224django-smart-selects ?еще можешь каштомные кверисеты писать, они тоже не кусаются
>>1098987А как итерировать то? Как к entry обратиться в action_with_long_response?
>>1099313Все, нашел.
>>1099229В формах что ли? А есть про это в доках, а то я писал, но джанга ругалась.
>>1098626>15летний хуй ты слишком тупой и не можешь в поиск информации, бросай нахуй, это не твое
>>1099071В скайпе тоже давно боты есть.
Можно ли писать Йоба-игры на Питоне или это мазохизм?мимопроходил
>>1099365Конечно можно! Сейчас на pygame почти все написано
>>1098643>Если хочется паралелльности, то смотри в сторону asyncioВзял в гугле пример сервера на asyncio, настроил под свои нужды - результат выполнения абсолютно такой же, как и раньше. Прям 1 в 1.>>1098840Блджад, а от чего можно ждать параллельности? Казалось бы, такая тривиальная задача - обрабатывать одновременно несколько подключений. Может я зря Питон выбрал для этих нужд? Какие ещё есть варианты?
>>1099375>от чего можно ждать параллельностиElixir, но вакансий на нём — кот наплакал.
>>1099378Вакансии пока не главное, мне важно сейчас решить стоящую передо мной задачу.
>>1099375нода, епт!
>>1099375>обрабатывать одновременно несколько подключений. Сначала давай определимся с терминами. Ты под "одновременно" имеешь в виду именно вот параллельно, на всех доступных ядрах/гипертредах, т.е. для повышения производительности, или же просто асинхронно, не мешая друг другу, чтобы несколько человек могли подключиться и работать с твоим сервером?Если второе (а я думаю, что именно это тебе и нужно), то и asyncio, и треды вполне тебе подходят. >Какие ещё есть варианты?Есть node.js, но там, по сути, тот же asyncio, асинхронщина на одном ядре.Для "параллельности" можно просто несколько процессов запустить, тогда все ресурсы и будут использованы Так что спокуха, всё ок, это просто манька выебнуться "знаниями" решила (и мгновенно же и обосралась буквально через пару слов, лел).>результат выполнения абсолютно такой же, как и раньше. Прям 1 в 1.Так а что тебя в этом результате неустраивает-то?
>>1099384> просто асинхронно, не мешая друг другу, чтобы несколько человек могли подключиться и работать с твоим серверомИменно это. Например, подключается первый пользователь и присылает мне подряд 100 сообщений hello_world_1.В это время подключается второй пользователь и присылает 5 раз сообщение hello_world_2. Мне нужно, чтобы второй пользователь не ждал в очереди, пока закончит первый. Нужно чтобы сообщения от любого пользователя сразу же выводились на консоль как только придут. И таких пользователей будет около 30 штук одновременно.
>>1099397>чтобы второй пользователь не ждал в очереди, пока закончит первыйНу так первый будет обращаться к СУБД, наверное.
>>1099399Нет. Пользователи - это GPS трекеры, которые присылают мне свои координаты.Пока получается так, что первый трекер общается с сервером, а остальные ждут в очереди и накапливают свои координаты в буфер. В итоге пока очередь доходит до последнего трекера, то буферизация достигает нескольких часов. Сдаётся мне, что это происходит потому, что как сказал анон >>1098643>Потоки вроде есть, но в каждый момент времени может выполняться только один
>>1099397>чтобы второй пользователь не ждал в очереди, пока закончит первый.Ну так а сейчас у тебя не так, что ли?>чтобы второй пользователь не ждал в очереди, пока закончит первый.Зависит от того, как у тебя код написал. Формально, он будет ждать, но зачастую это ожидание очень малое (пренебрежимое). А если обрабатывающая запросы функция обращается к бд или диску, то во время ожидания этих операций (открытия/закрытия файлов, например) питон пойдёт обслуживать другого пользователя.>>1099403>Сдаётся мне, что это происходит потому, что как сказал анонНет, ты просто наговнокодил. Вырежи всё лишнее, покажи свой код. Могу чуть позже тебе пример нормальный накалякать.
>>1098703В 2.7 не было. В 3.5 поддержка появилась из коробки.
>>1099375>Какие ещё есть варианты? uwsgi, как плюс - он сам нагрузку по ядрам раскидывает, если сконфигурировать
>>1099406Мой говнокод по ссылке: https://ideone.com/Y6ww0VЗа работающий пример буду сильно благодарен. Самое смешное, что сервер может быть и нормально работает, а косяки получаются из-за криво настроенных клиентов.
>>1099365Ну, Ren`Py например. Популярная штука.Основан на pygame, правда, бидон второй.
>>1099407G I LIL
>>1099423Попробуй использовать Jython/IronPython.Я когда многопоточный url-фаззер на request писал, действительно быстрее было. Но там только второй бидон.
>>1099409Вебмакака просочилась. Ты почитай что ему нужно вообще.
>>1099403не слушай долбоебов вещающих про Гил и однопоточностьИ про uwsgi , позор то какойТвою задачу питоном решить можно. Конкретнее распиши как трекеры общаются с сервером. Просто по тсп шлют сообщения в своём формате?
>>1099423>За работающий пример буду сильно благодарен. >Могу чуть позже тебе пример нормальный накалякать.Вот-с. https://repl.it/repls/FunnyFunnyHog>сервер может быть и нормально работаетУвы.>Мой говнокод>yield from asyncio.wait_for(reader.readline(), timeout=100.0)Вот тут херня. Данные у тебя новой строкой не оканчиваются, в итоге он читает и читает, пока там вдруг случайно не появится конец строки (а с таймаутом в 100 секунд шансы довольно велики). При этом при начале поступления данных, походу, readline начинает блокировать. Замени readline на, например, read(500) И всё станет немного лучше. Дальше уже нужно знать протокол и формат сообщений, имеют ли они размер и т.д.И не слушай всяких долбоёбов, которые тут уже на IronPython, блядь, перейти советуют.
>>1098987> pool.map(action_with_long_response, somelist)Как прервать итерацию?
>>1099447Вот твой же код с моими симуляторами трекеров с выставлением read(36) (размер моего пакета): https://repl.it/repls/IdealJudiciousHornet всё ок работает.
>>1099447>пока там вдруг случайно не появится конец строки (а с таймаутом в 100 секунд шансы довольно велики)Хотя тут я хуйню какую-то сморозил, по-моему, но у меня оно почему-то начинало выплёвывать через несколько секунд сразу кучу данных.
>>1099436> Ты почитай что ему нужно вообще. держать 30-60 соединений, как я понял
>>1099403блин да пихай их в celery и пусть оно там сколь угодно долго как-то само ебется
>>1099447>Данные у тебя новой строкой не оканчиваются, в итоге он читает и читает, пока там вдруг случайно не появится конец строки>Замени readline на, например, read(500)Т.е. итерация цикла while должна заканчиваться после того, как придёт интересующая меня строка? В данном случае после получения 500 символов. Верно? Длина строки у меня не фиксирована, но, согласно протоколу, строка заканчивается символами \r\n. Получается я должен читать приходящие символы, и как только наберётся последовательность \r\n делать циклу break?
>>1099499>Длина строки у меня не фиксирована, но, согласно протоколу, строка заканчивается символами \r\n. Получается я должен читать приходящие символы, и как только наберётся последовательность \r\n делать циклу break?Да. Но ограничение на длину все же поставь. Протокол протоколом, а клиенту чудить никто не запрещает.
>>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 после прочтения первого сообщения, то соединение разорвётся и придётся его устанавливать заново при следующей пачке данных. Тут уже зависит от частоты сообщений (трекеры-то, полагаю, должны бы каждые несколько секунд отсылать? Приятно же наблюдать, как курьер с пиццей к твоему дому подъезжает в почти реальном времени), выбор за тобой.Длины стоит ограничить, чтобы мамики хацкеры не послали тебе тонну дряни и не засрали твой буфер, который так и будет копить и копить бесконечно данные.Данные-то правильные приходят, которые получается обработать, лишнего ничего нет? Потому что вообще так-то твой код должен был бы работать, если протокол соблюдён.
Господа, здравствуйте!!Хочу настроить пайчарм для работы с питоном. Скачана новая анаконда, скачан сам питон и пайчарм. Библиотеки все подключены (1й пик), но нужно задать еще run/debug configuration. А там у меня просят какой-то скрипт (2й пик).Работал с питоном последний раз где-то год назад, скриптов никаких не помню, что там выбирать не знаю. Подскажите!
>>1099566Кроме двача больше некому помочь, правда
>>1099566>просят какой-то скрипт (2й пик).ну так и укажи там путь к какому-то скрипту который ты дебажить собрался.
>>1099575Ого. У меня код есть, я его дебажить буду. Про скрипты впервые слышу
>>1099576Я ПОНЯЛ КОД И ЕСТЬ СКРИПТ УКАЗАЛ ЕГО И ВСЕ НОРМ СПАСИБО РЕБЯТА
Анон, ты разбираешься в djnago ORM?У меня в бд есть две модели: кастомеры и заказы. У каждой модели есть поле created_date.Нужно:задаешь две даты (start, end) -> тебе выдает словарь с {date: {customers_created: кол-во кастомеров за дату, orders_placed: кол-во заказов за дату}}Я думаю это можно как-то получить с помощью ORM, но совсем не разбираюсь в этих aggregate/annotateпока гуглю варианты
Как-то бля можно засунуть в неймспейс кучу функций и вызывать их по типу Мояёба.Foo(x) ? Если сделать класс то он требует вызов из объекта
>>1099667А, кажись понял - надо писать перед каждой функцией @staticmethod
Тест
пацаны, тут это 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' но я уверен что есть способ лучше, подскажите какой?
>>1099675заюзал это https://github.com/goinnn/django-multiselectfieldпиздец вы питонисты говноеды, ради элементарной задачи тянуть хуй пойми чей говнокодеще на npm выебонят ебал вас в рот Антихайп
Как завершить multiprocessing ThreadPool?
Питон, допустим, у меня накачено дохуя питонов: 3.4, 3.5, 3.6. Как мне юзать пип для каждого отдельно? Как запускать каждый отдельно?
>>1094248 (OP)А зачем в 2017-м нужна Anaconda? Python же вроде давно в venv научился
Аноны, скоро буду сдавать ЕГЭ по информатике в 200-300к мухосрани, сам учу змея, но боюсь что меня опрокинут с питоном и заставят на паскале писать, есть ли тут аноны, которые сдавали информатику в мухосранях?
Вкатится в питон, и у меня проблема. Предположим, что у нас есть кортеж, и нам нужно доставать из него 2 числа и сравнивать их, как достать эти сразу 2 числа? Или мне надо по очереди их брать, записывать в переменные, сравнивать переменные и очищать после?
>>1099821>и нам нужно доставать из него 2 числа и сравнивать их,По два соседних итерируя по длине кортежа чтоли или как? пример приведи.
Сап змейки. Можете мне обьяснить каким вообще образом данный вундеркод работает? Ведь, к примеру, 4/2 нихуя не ноль будет. Или я чего-то не понимаю?
>>1099874>Или я чего-то не понимаю?Вот ето вот.
>>1099876Ну так чего же? Что же лежит на поверхности и чего я блядь не вижу?
>>1099874 % считывает остаток4 % 2 = 05 $ 2 = 1
>>1099880То чувство когда не очень внимательно читал первые уроки. Спасибо, вспомнил
>>1099724python3.4 -m pip install krokodilpython3.5 -m pip install zalupapython3.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(), по по-моему это немного нехорошо, если делать это из одного из тредов пула, а не оттуда, где пул был создан.Но может быть ты лучше задачу свою опишешь? Потому что какое не очень элегантное решение получается.
>>1099696>ради элементарной задачи>еще на npm выебонятУ нас хотя бы is-boolean'ов нет.А зачем тебе питон, нода же гораздо лучше для веба?
>>1099918Задача такова: много операций с долгим выполнением, которые надо расспаралелить и оборвать при неком условии.
>>1099918Как-то тупо получается мультипроцессинг сделан, если его нельзя оборвать. А если у меня миллион процессов?
>>1099874>2-ой питон
>>1099941Что это значит?
>>1099943Это значит, что ты пидор
>>1099958А может быть... ТЫ?
>>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
>>1094788https://pastebin.com/bP1LHrZT
>>1099964Насчёт решения с тредами: после вызова pool.terminate, уже запущенные задачи в тредах будут доделываться до конца, только новые не поступят. (Потому что внутри там, наверняка, всё через ту же стейт переменную сделано, которая перед каждым новым элементом проверяется). Так что не вздумай там запускать сотни тредов.
>>1099724Не ставь глобально пакеты, обмажься virtualenv А там уже устанавливай нужные версии питона $ virtualenv -p python3.6 environment_file
>>1099943Значит, что ты используешь 2ю версию питона (print не функция). Анон выше мягко намекал, что учить версию языка, которая будет лишена поддержки в 2019-20, не совсем продуктивно в 2к18 году.
>>1099850Два соседних, да
>>1099964А зачем в твоем процессе в конце close/join если они все равно терминированы?
>>1100019Если нужно красивенько: https://repl.it/repls/WorriedRevolvingSablefish нагло спиздил из доков itertool'аНо у тебя, по-моему, чего-то более фундаментального понимание неправильное. К элементам можно обращаться по индексам из списков/туплов и других последовательностей. >l = ['a', 'b', 'c']>l[1] # 'b'>var = 'b'l[1] можно использовать точно так же, как и var.>>1100046Join чтобы дождаться конца выполнения уже ещё активных тредов (добавил принтов по ссылке). А вот close и правда не нужен, join можно вызывать и после terminate'а (но хотя бы один из них обязателен).
>>1100049Про индексы то понятно, а если мы рандомом заполняем кортеж? То приходится без индексов справляться
>>1099549Спасибо тебе, доброанон, за помощь. На твоём симуляторе действительно всё хорошо работает, значит сервер написан правильно.Но мне по прежнему приходит какая-то хуйня. Данные выплёвываются по очереди, пачками по несколько десятков штук, с диким кэшированием, а от половины трекеров и вовсе не приходит нихуя.Вся загвоздка в том, что трекеры устанавливал и настраивал не я. Этим занималась какая-то говноконтора и настраивала отправку данных с трекеров на свой говносервер. Для меня же они просто делают ретрансляцию данных со своего говносервера. Видимо, что ретрансируются они как-то криво.
>>1100053Каким ещё рандомом? Какая разница, чем ты его заполнил? Покажи код, ёпту. Ты делаешь что-то вроде>[random.random() for i in range(100)]и хочешь сравнить подряд идущие элементы во время создания списка, что ли?
>>1100061Да, что-то похоже, было бы неплохо, если покажешь
>>1100063Конечно покажу:>никакНет, конечно, дерьма можно всякого разного наделать (https://repl.it/repls/AchingScentedBlesbok), но не нужно. Лучше просто в несколько строк распиши свою процедуру заполнения, всё равно этого не избежать.
>>1100072Хотя если уж вот совсем хочется, то http://code.activestate.com/recipes/204297-the-secret-name-of-list-comprehensions/
Анон, ты разбираешся в celery?Допустим, у меня есть задача:1) Есть ограничение по времени 50 сек2) Есть список urlНа каждый из url нужно отослать по запросу. Если запрос не удался - нужно попытаться еще раз. И так пока не получу ответ 200 или не кончится время на ретраи (1)Нужно чтобы запросы начала рассылаться синхронно.Я подумывал о celery, но- не создавать же на каждый запрос по воркеру (чтобы они обрабатывались одновременно)- если будет 2 воркера - каждый сможет обрабатывать только 1 url и не закончит, пока не получит 200 или не выйдет время. Допустим есть 10 url, 2 воркера взяли первые 2 и у них выдает постоянно ошибку - остальные 8 так и не обработаются, пока не выйдет время.Как это можно вообще реализовать?
Как выкачивать фалйы по ссылке в джанге?
>>1100090А чу, в пистоне уже реализовали многопоточность?На божественном сярпе это делается элементарно с LINQ asParallel
>>1100090a s y n c i osyncioНо будет только в celery 5
>>1099964Почему ты пишишь, что треды и мультипоточность/парралелизм отличаются? Это же одно и то же - запуск парралельных подпроцессов.
>>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)
>>1100158> data[:-1]Можно просто `data`
>>1100159Кстати да, это же zip, а не zip_longest
>>1100115Ну а без 5 селери как быть?А вообще это нормальная практика: у меня 20 запросов и я их синхронно выполняю?
Поясните за парсинг, юзаю BeautifulSoup.На странице есть скрипт, в котором есть определенный параметр hd_src его значение нужно спарсить, но я не понимаю как.Если я пишу ищу через string, то он возвращает мне весь скрипт тэг, а мне нужна только ссылка в hd_src, как это сделать можно?
>>1100169Использовать парсер js на пифоне.
>>1100177Ладно, ща попробую какой-то slimit, спасибо.
>>1099964imap вообще не работает. У меня оно зависает и всё. Ничего не происходит, не выводит в консоль list_item.https://repl.it/repls/PointlessRawWasp
Накатил анаконду, но импортировать ничего не могу, но если ебошить через pip install matplotlib, то pycharm все это импортирует и подгружает. https://www.youtube.com/watch?v=dgjEUcccRwM И чекал по видосам, все установлено правильно, в консольке могу и питон, и jupyter notebook вбить и 0 ошибок. Что я делаю не так?
>>1100184А все, причина проблемы идентифицирована, нужно всегда вызывать event.set в последнем треде.
>>1100190Сколько костылей надо добавить чтобы обычный выход из мультитрединга инициировать. Нужно считать длину итерируемого массива, или брать последний элемент массива, добавлять его в переменную перед распараллеливанием, потом сравнивать...
>>1099924хз зачем кому то понадобился is-boolean, чекнуть тип можно вполне себе без него>А зачем тебе питон, нода же гораздо лучше для веба?админка искаропкида и синтаксис кошерный
>>1100009А что, разница прям такая огромная? Просто codeacademy удобен весьма
>>1100185анаконда ж сама через свой "менеджер" окружения создает, не?
>>1100143Потому что в питоне они сильнее отличаются, из-за GIL'а. Т.е. параллельности с тредами в питоне ты не получишь, в любой момент времени работает будет работать только один. Что на IO-bound задачи, типа скачивания кучи файлов из интернета одновременно, особо негативно не влияет.>Нужно считать длину итерируемого массива, или брать последний элемент массива, добавлять его в переменную перед распараллеливанием, потом сравнивать...Нахуя? Тебе же нужно было раннее прерывание вроде. Так-то да, done.wait() ждёт установки эвента.Сделай так тогда и забей хуй: https://repl.it/repls/MonstrousCrushingHummingbird будет либо до конца ждать, либо оборвётся на нужном тебе. Может я вовсе неправ был и не так уж и плохо закрывтаь пул из дочернего.
>>1100237>в любой момент времени работает будет работать только один. Что на IO-bound задачи, типа скачивания кучи файлов из интернета одновременно, особо негативно не влияет.Да, но не по этой причине, а потому что io задачи отпускают GIL на время ожидания.
Может кто пояснить, при скачке видеоurllib.request.urlretrieve(url, 'my_video.mp4')иногда (пока что только на одном видео из 10 появляется такая ошибкаurllib.error.ContentTooShortError: <urlopen error retrieval incomplete: got only 524288 out of 3451385 bytes>Из-за чего это может происходить?
Дело такое. DjangoПытаюсь переменную QuerySet "posts" конструкцией " 'posts':posts " передать в шаблон. При обновлении страницы локальном серверевыдаёт NameError at /name 'posts' is not definedЯ не понимаю почему...
>>1100261у тебя переменная post = Post.blablaа отправляешь ты posts: postsебнутый штоль?
>>1100261>>1100268Енжой ёр автодополнение без понимания контекста.
>>1100268есть немного. Но дело тут куда тоньше, если прописывать posts в переменной(в самом начале) и так же ставить posts:posts, выйдет уже тогда ошибка с тем же содержанием, но уже не "posts" а выдаст "post"...Но если наименовать переменную post а конструкцию posts:posts всё заработает... Вот как так скажи мне... Я сам голову уже часа 2 ломаю
>>1100268>>1100269>Но если наименовать переменную post а конструкцию posts:postsfix post:post Короче, вот как должна выглядеть конструкция https://ideone.com/S7P8uw но выдаёт ошибку "Post" NameError at /name 'post' is not definedНо вот так она начинает работать, но ведь тогда post уже обращается к совершенно другой переменной... Это костыль или что?https://ideone.com/pdwVUg
Весь день занимаюсь парсингом и это пиздец какой-то, я блять не понимаю.парсится блять страница, вывожуprint(soup)пишу кнтрл ф (_5pbx userContent) находит, пишуsoup.find_all("div", "_5pbx userContent")нихуя не находит, вот как так-то?ещё писалsoup.find_all("div", class_="_5pbx userContent")но результат тот же, что я блять делаю не так?
Сап, пистонята, как заебашить поиск юзера в жанге? С меня как обычно любовьласка
>>1100295User.objects.filter(name__icontains='имя')
>>1100237Охуенно! Все работает.
Задача. Открыть файл в котором записана одна строчка(целое число). Затем открыть его снова, получить это целое число, прибавить к нему еще одно и записать их сумму ВМЕСТО первоначальной строчки.Кодa = 2f = open('zalupa.txt', 'w')f.write("1")f.closef = open(kiss, 'r+w')line = f.read()b = a + int(line)f.write(str(payment2))f.close()должно ведь записаться в файл и получиться 3(2+1 же), Двач, какого хуя он выдает 13, как удалить единицу перед тем как записывать?
>>1100319быстрофикскодa = 2f = open('zalupa.txt', 'w')f.write("1")f.closef = open(kiss, 'r+w')line = f.read()b = a + int(line)f.write(str(b))f.close()
>>1100319file.seek
Как изъять каждый message_id в цыкле ?
>>1100358усё, разобрался
Есть модель с файлфилд, и есть одна форма с view, которые позволяют ввести юрл на видео и оно скачается туда же, где лежат видео, если их добавить через админку например.Но, я не понимаю как мне проассоциировать этот файл с полем в модели, при создании нового экземпляра.То есть, сейчас я пишуmedia = MediaDownloader()media.file = 'media/my_video.mp4'Но при этом в админке его почему-то нельзя посмотреть, как те, которые я заливал через админку. Или это нормально и так и должно быть ?
>>1100272Тебе питон должен показывать файл и строку, на который выпадает ошибка. В показанном тобой коде никакой переменной "post" нет, значит и ошибка где-то в другом месте выпадает.>совершенно другой переменнойС чего бы это другой? Пиши хоть>kkkkkkkkk = Post.objects....>render(..., {'post': kkkkkkkkk })Всё будет работать. Вангую во вью код вроде>if 'post' in context:> post = context['post']>do_something(post)
Чем отличается ipython notebook от jupyter ??
>>1100423Первый соснолечка, второй вебчик с картиночками
>>1100430Что то, что это у меня запускается на локалке, немного различается интерфейс, а так, те же яйца, только в профиль.Есть ли способ запустить это без браузера?
А как правильно???
>>1100442Похуй.
>>1100442путон.
>>1100442пифон.
Где захостить джангу без гимора и занидораха? Нагрузка нулевая.
Почему лого питона в цветах украинского флага? Слава Украине!
>>1100102Multilrocess. Плохо тут с этим.
>>1100442Фитон
Вопрос по джанге. Может встроенная админка полностью всем устроить, включая локализованные названия полей с пояснениями? Или придется пилить свою?
>>1100473Дигитале океан.Или хероку
>>1100479> Дигитале океан.Минимальное пополнение через палку - 5$. А я хочу хостинг вырубать когда не нужен. > Или херокуЧто за зверь?
Почему во встроенной оффлайн консоли ipython можно писать только по 1 фиксированной строчки, а в юпитере можно в 1м блоке написать сколько угодно?
>>1100488ТЕБЯ ЕБЕТ ШТОЛИ? БЛЯДЬ ПИЗДЕЦ У НАС В КОМПУТОРНОЙ АККАДЕМИИ ШАГ ЗА ТАКИЕ ВОПРОСЫ УБИВАЮТ НАХУЙ!!!!!
>>1100483>> Или хероку>Что за зверь?heroku.com
>>1100372Ну же, выручай анон, прочитал вчера про from django.core.files import FileПишу теперь как-то вот такlocal_file = open('media/files/my_video.mp4')djangofile = File(local_file)media.file = djangofilemedia.save()Теперь выдает такое, вообще хуй знает куда смотретьUnicodeDecodeError at /upload/'utf-8' codec can't decode byte 0x8d in position 34: invalid start byte
>>1100530> open('media/files/my_video.mp4') open('media/files/my_video.mp4','rb')
>>1100532Блять, точно, вот я дебил, спасибо.
>>1100516Нормально ответить слабо?
>>1100533>я дебилНет, ты умничка и все у тебя получится!А ошибки у всех бывают.
>>1100535консоль это интерактивчик большеа жупитер juniper это для написал кусок кода - отрисовал график, там мельчить не имеет смысла.
>>1100540
>>1100541Написал бы хоть, что в ipython е можно тупо взять запусть готовый файл со скриптом, обратившись к интерпретатору
Здравствуйте, уважаемые удавы.В общем, к Питону ещё не прикасался. Ни разу. Сейчас хочу заняться только с практической целью: визуализация результатов экспериметов, красивые 3D-графики, диграммы. +расчёты.На компах работодателя заметил "NumPy", соотвесна, буду работать только в связи с SciPy (я как понял, NumPy - подмножество SciPy).Я как понял, мне нужна Anaconda как IDE+либы и УкусПитона как гайд?Нужно минимум теории и максимум выхлопа, ибо по сути хлам, я лучше знания в C расширю.
>>1100545внатуре пидор, написал бы хоть ну...
Есть пайтон строка с кучей хтмлтэгов внутри, при том, не факт, что я знаю какие там тэги есть.Как избавится от всего этого?И по верстке один вопрос простой.На странице есть картинки и видео, как разместить их слева и справа соответственно.Добавлял див с class="col-md-6" на каждую, но тогда они друг на друга наезжают.
>>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", так прописаны метатеги по размеру). Может быть, размер окна такой, что этот тег не применяется?
>>1100604бля, как же я ебал в рот эти регуляркиmd -medium вроде 767 px, да и у меня 100% больше, к тому, же это значит, что при меньшем разрешении они просто начнут друг под другом стакаться (вроде бы)
>>1100604Да, matplotlib уже искаропки, спасибо. А "Укуса" хватит, чтобы начать шарить?
>>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()Всё считали.
>>1100615Ну вообще да, сейчас попробую, спасибо.Да, правда, так и было, но всё равно говно получается, как же кумарит эта верстка
Есть у кого-то идеи, как в питоне с видео снять скриншот?Нашел только кучу мертвых библиотек на второй питон.
>>1100639Ищи биндинги для FFmpeg/любого плеера.
Здравствуй /пр/,Есть один вопрос, который меня мучает уже пару дней:Если я ввожу в ftp = FTP('не_работающий_айпи')то время ожидания 21 секунда.Как меня сделать так, что бы время ожидания было 8 секунд?
>>1100661Ищи таймауты по докам твоей библиотеки.
>>1100662Я скрипт буду юзать не только на своем компе. Как мне прописать таймлитимит для дока фтп, что бы лимит был у любого компа?
>>1100639Громоздкое решение, но если уже установлено, то opencv в это может.
>>1100659Тоже об этом думал, но лень, решил воспользоваться MoviePy>>1100665 тоже скорее всего громоздкое решение, но чот лень разбираться как через пифон ффмпегом пользоваться
Алсо, кто с PyQt работал? Можете на пальцах пояснить, в чём фундаментально отличие qthreads от обычных питоновских тредов? Можно ли в интерфейсе что-нибудь дёргать обычными тредами?
Анончики, помогите:Есть два csv файла, допустим, A и B. В файле А есть две колонки соответствующих значений, в B - большая таблица, в которой заголовком идут значения первой колонки из A. Мне нужно заменить значения хедера B на соответствующие значения второй колонки из A. Тупо заменить всеми значениями не получится, потому что в хедере некоторые пропущены и они идут не по порядку. Как это в pandas каком-нибудь сделать?
>>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 не надо по-тупому заполнять всеми значениями, а более аккуратно искать в цикле значения только для нужных.
>>1100716Бля, только не >line.split(' '), там же не проблемы, а csv:>line.split(',')
А кто знает, через апи фейсбука можно у них видео выкачать?
>>1100529Я понял, что это? С планшета сижу.
>>1100545Как?
Как распарсить в дату такую строку? a = 'Fri, 01 Dec 2017 01:21:36 GMT'date = time.strptime(a, "%a, %d %b %Y %H:%M:%S")Всё понятно, кроме GMT. что для него подставлять?
>>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Только велика вероятность, что с наличием таймзон проблемы будут.
>>1100837Pendulum попробуй
Апельсинусы, куда с питуном вкатиться можно кроме веба? Прочитал первый том Лутца, а в каком направлении двигаться дальше не знаю.
Приходит вот такая строка, кто-нибудь знает как её спарсить? И что это вообще такое?https://pastebin.com/C76EPaLnдвощ не позволяет запостить напрямую
>>1100915Дип лернинг, мэшин лернинг, биг дата , нейронные сети
Поясните ещё за регулярочки.Строка выглядит прибилизительно так<img class="_46-i img" src="<тут всё что нужно спарсить> < style="left:-13px;>Проблема в том, что дальше идёт дохуя этих style="left и оно парсит получается их все, можно как-то сделать чтобы парсило до первой встретившейся, или что-то такое? Или как такое вообще парсить?Вот что я пишу, но это парсит не только мне нужную строку, а вообще всё что есть до последнего style="left.pic2 = re.compile('(<img class="_46-i img" src=")(.*)(?=" style="left)')
>>1100922https://stackoverflow.com/questions/2087370/decode-html-entities-in-python-string
>>1101005>Поясните ещё за регулярочки.Поясняю, не парси регулярочками хтмл.
>>1100664>Как мне прописать таймлитимит для дока фтп, что бы лимит был у любого компа? аллоу, доки = документация. Тебе посоветовали почитать документацию используемой тобой фтп-библиотеки, в которой будет сказано, как установить таймаут при вызове (если можно). На других компах, испольующих твой скрипт, очевидно, должна быть установлена эта же библиотека, чтобы оно работало.
>>1101015Как через BeautifulSoup парсить вложенные теги, потому что у меня чот нихуя не парсится?
>>1100934>Дип лернинг, мэшин лернинг,... нейронные сетиЧто в общем-то одно и то же ежже
>>1101023>Как через BeautifulSoup парсить вложенные теги,Просто.> у меня чот нихуя не парсится?Хуева, чо.
Блядь как же я заебался, аноны, памагити, никак не могу указать pycharm-y путь к интерпретатору, почему-то ругается с указанием pyton-a 2.7, хотя установлен-то блядь последний
>>1101075Поставил кряк из шапки, ситуация не изменилась
>>1101023Бери Scrapy, не еби себе мозг.
>>1101163Наркоман.
>>1101075Первое правило питона - не кодь на питоне из-под винды.
Джанганы, а посоветуйте за последие год два может книги какие клевые по джанго выходили, что почитать стоит? Или может вы видели на гитхабе живые распиздато написанные приложухи на джанго, такие, что бы полистать да чего хорошего набраться?Да хоть туториалы на ютубе, один хуй, абы полезные
>>1101264This.
Когда юзать class-based views а когда обычные в Django?
>>1101328cbv всегда
Анон, помоги разобраться, пожалуйста.Есть шахматная доска. Надо определить, правильно ли ходит конь.При отладке почему-то получается, что второй if , судя по всему, неверный и проверка следующего условия не выполняется.https://ideone.com/D9f2lQТакже реквестирую советы по оптимизации этого говнокода. Заранее спасибо
>>1101349> почему-то получаетсяВводишь строку, сравниваешь с числами.> по оптимизацииТут просто дохуя всего. Ты делаешь всё как говно.
>>1101264Прыщеговно ебаное?
Может перекот?
>>1101409Ну я вот на маке работаю и всем рекомендую. Но вообще даже линукс будет по-удобнее, чем пороться в сраку с pip и всякими поделками для numpy под виндой
Посоветуйте портативную среду, хочу принести на работу, но у нас нельзя ничего установить.
>>1101447Jupiter notebook
>>1101447Жупитер ноутбукЕсли есть айпад еще веселенькая ide есть - Pythonista
>>1101451>PythonistaЕбать название, аж свежим смузи запахло.
>>1101395> Ты делаешь всё как говно.Возможно. Ведь я учусь.>Тут просто дохуя всего. Ну хоть что-то?
>>1101452Хипсторов бояться - в интернеты не выходить!А штука прикольная - там неплохо расписаны модули для взаимодействия с ios: все эти share button > run script / виджеты / даже простенькие UI - компоненты естьНу а внутри обычный питон питоном, третей версии, шелл и pip искаробки не доступны ввиду шизоидности подходов к безопасности appstore, но валом туториалов как запилить их самому и пользовать
>>1101451К слову под иос так же есть бета Juno, который просмотровщик онлайновых Jupiter Notebooks. На сайте приложухи автор всем подряд раздает доступ к этой бете.
Хочу выучить Питон. Потом легко будет работу найти?
>>1101441То что пип надо руками прописывать в path и конфликты разрешпть то еще ничего. Гораздо веселее когда нет бинарей под винду. Ipythpn последний, например.
>>1100488Прыщеговно ебаное потомушта. А в юпитере дополнение работает?
>>1100831> Я понял, что это? С планшета сижу.Ап
>>1100478Ап
>>1101450>>1101451http://portablepython.com/Вот это не годится?
>>1101488Я ебут что ли? Если удобно - пользуйся.
>>1101456> Ну хоть что-то?> m1 = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h'] #задаём осиХУЁСИ! Просто xs, ys = "abcdefgh", "012345678"Разбей всё на функции: конвертация в декартовы координаты проверка что точка на доске* проверка что от одной точки до другой можно дойти буквой ГХЭ.на ideone можно input заполнить чтобы все увидели как твоя поделка падает
>>1101349во-первых добра тебе анончик и успехов в учебево-вторыхв функции печатать ничего не надо, поднимай исключениятам, где функцию вызваешь, их обрабатывайво-третьих, преобразуй координаты в числа, так будет легче сравнивать их и валидироватьв-четвертых успехов и добра
>>1101607>>1101349к его совету тоже прислушайся>>1101579
>>1101607>>1101349https://ideone.com/xY4k5h
Что скажете про книгу learn python the hard way?
>>1101648хуйня уровня ПРЕВОЗМОГАЙ! ПИШИ ГОВНО ДАЖЕ ЕСЛИ НИХУЯ КРОМЕ ГОВНА НЕ МОЖЕШЬ! ОТОЖМИСЬ 100500 РАЗ!!! на западе жрут потому что скряги и эта говнокнига беслпатная, в РФ жрать такое ваще не по масти, тем более что пятая часть книги это визг пейсателя дескать го смотреть мои видеокурсы платые где я распиздато гнусавым голосом пержа и попивая чай чет пизжу более конкретное чем эта пидорская книжная мотивациянаверни Think Python, короч
>>1101649Спасибо, что ответил анон, а в think python много практики?
>>1101652ага, почти целая книга туда-сюда применимых к жизни приложений "степ бай степ", что называется
>>1101653Спасибо ещё раз, анон.
>>11016282:18: E225 missing whitespace around operator10:37: E231 missing whitespace after ','12:1: E302 expected 2 blank lines, found 112:27: E231 missing whitespace after ','13:30: E225 missing whitespace around operator14:38: E225 missing whitespace around operator15:30: E225 missing whitespace around operator16:38: E225 missing whitespace around operator19:1: E302 expected 2 blank lines, found 122:30: E231 missing whitespace after ','24:1: E305 expected 2 blank lines after class or function definition, found 1
>>1101669Поставил пайлинтер в вскоде, так он в каждой строчке ссыт мне в лицо. Думаешь стоит прислушиваться к нему?мимо другой анон
>>1101653Глянул оглавление, там совсем для нюфань. Я же в синтаксисе питона шарю, да в программировании в целом. Похоже я не найду нужной книги. Придется просто свои прожекты мутить и гуглить документацию для доков.
Посмотрел, что для анализа данных требуют знание numpy, scipy, scikit-learn, pandas, tensorflow и т.д. Как учить это говно? Есть какая-нибудь литература для изучения или только на сайте читать описание?
Питоны, у меня есть несколько скриптов в субдирректории subidr и чтобы импортировать их в файлы верхнего модуля нужно писать как import subdir.file И если я запускаю какой-то файл в дирректории, то все файлы в субдирректории если у них есть импотры между собой должны импортировать тоже как import subdir.file. С другой стороны если запускать скрипты из субдирректории то все импотры между файлами идут по пизде т.к. нужно писать просто import file.Как это обычно решают?Вообще где можно почитать/посмотреть бест практикс по импортам, видел в некоторых проектах целые файлы где только импорты а может это было на руби, я не помню.
>>1101705>Как учить это говно?Ты так пишешь будто это сильно дохуя.numpy осваивается за 1-2 статьи в инете, pandas сейм шит, если тебе не нужен маняэксель на питоне, тогда еще пару статей придется читануть.scipy и scikit-learn просто набор алгоритмов. Если ты читаешь про какую-нибудь регрессию или манядеревья, то потом не идешь писать свой велосипед, а просто вызываешь функцию "сделать заебись" из scikit.До тензорфлоу руки еще не дошли, но вангую что там тоже самое трудное это import tensorflow as tf
>>1101264Ну а играть-то как блядь, я кроме развития еще и аутировать хочу, баланс нужен
>>1101679Конечно, блядь, нестандартное говно читать-то противно, будто крестьянин до клавиатуры добрался.
>>1101719Поставь вторую операционку
Перекатите тред
>>1101726Сам перекати, ёпту.
>>1101264Хуй знает о чем ты, пишу на винде, хотя есть прыщи и мак в мультибуте. просто потому что оброс всяким говном на винде, которое лень ставить на другие системыНи одного бага еще не ловил, единственное ограничение это то что пути иногда нужно руками прописывать, например пишу в консольке python -m pip install вместо pip install т.к. лень было переменные среды пердолить.Не скажу за веб, но всякая саентифик параша работает как часы. Разве что один раз caffe нужно было вручную собирать из другой ветки
>>1101725Не с моим жестким на 120гб
>>1101713Ну, я просто смотрю на подобные http://pandas.pydata.org/pandas-docs/version/0.20/pandas.pdf документы, и руки опускаются.
Ч почитать годного по джанге есть?
>>1101814Не ссы, описание стандартной библиотеки питона тоже больше тыщи страниц, но это же не мешает тебе юзать его не зная и 5% того, что там есть.Тем более там с 1000 страницы начинается api reference, а до 400 страницы вспомогательный стафф типа истории версий, как устанавливать и контрибьютить.
Поясните за scrappy, когда надо его юзать, а когда чего попроще, в чём его преимущества перед BeutifullSoup, например?
>>1101873scrapy это django для парсинга
>>1101901а если парсить надо в джанге?
>>1101902я имел в виду в scrapy как и в джанге, все включеносоздал проект, накидал xpath выражений и вперед.рейтлимит, редиректы, все автоматомЕсли в джанго надо парсить, то или синхронно при помощи чего-нибудь простого (requests + lxml) или асинхронно через Celery и ту же Scrapy.
>>1101904xpath выражения звучат заманчиво, но с другой стороны остальное нахуй не надо.Ладно, почитаю что там у них в доках, спасибо.
Пацаны, помогите решить задачу. В общем, есть последовательность пар чисел. Некоторые из этих пар имеют общие элементы. Нужно вывести цепочки связанных пар по убыванию длины цепочки.Например, дана последовательность:[(1,2), (2,4), (5,4), (7,4), (3,8), (8,10)]Тогда вывод будет таким:(1,2), (2,4), (5,4), (7,4)(3,8), (8,10)Но цепочки могут идти и не последовательно.Анончик, молю, спаси, нужно для реализации скрипта
>>1101873>Поясните за scrappy, когда надо его юзать, а когда чего попроще, в чём его преимущества перед BeutifullSoup, например?Скрапи надо юзать когда у тебя вагон сайтенгов одинаковых и их надо регулярно парсить.Написал парсер, а в скрапи все есть для запуска и хранения результатов.Скрапи использует beautiful soup тоже. Но это не точно.Если тебе надо какую-то простую хрень спарсить в джанге, юзай Requests и beautiful soup
>>1101911да вот их и юзаю, просто с фейсбука что-то так хуево всё парсится, что захотелось чего-то другого попробовать.
Sicp для питона переводили?
Как зделость зис ворк?https://repl.it/repls/StarchyFearlessLorikeet
>>1102086Все, сделал сам.
>>1101842Бумп
https://2ch.hk/pr/res/1102146.htmlhttps://2ch.hk/pr/res/1102146.htmlhttps://2ch.hk/pr/res/1102146.htmlhttps://2ch.hk/pr/res/1102146.htmlhttps://2ch.hk/pr/res/1102146.html
>>1101911scrapy вонючие фекалии