>Питон можно скомпилять в экзешник, который будет работать без самого интерпретатора питона, ну и не декомпилировать чтоб. В прошлом треде ответили, что можно. Чем/как?
>Питон можно транслировать в с++/с#, чтобы работало и было более-менее читаемо? В идеале, в исходном питоне используя функции и классы того, во что собираешься транслировать? В прошлом треде ответили, что можно. Чем/как?
>Можно ли (и если да, то как) написать скрипт автоматизации или макрос, группу таких скриптов-макросов (хоткеи, бинды кнопок и сочетаний, действия с системой), запускающиеся по событию мыши, клавиатуры, системному событию (изменилась раскладка, отключился интернет, етц)? В прошлом ответили, что нельзя, но на днях в /b говорили, что можно, да и из прикрепленного послали к вам или крестовикам (подцепить винапи и писать на нормальном языке типа).
Но зачем это? Какая разница, скомпилировано оно будет или просто упаковано вместе с интерпретатором? Кроссплатформенности же всё равно не будет, нужно под каждую платформу отдельно компилировать.
>>745420 в руководстве по дельфи для такого же калькулятора была одна функция на все баттоны, которая выясняла по ID в каком баттоне было нажатие и делала все необходимые действия
>>745418 (OP) Я мимохуй из ноды, и мне нужно было запилить простенький REST сервис, который бы работал с уже написанным кодом на питоне. Проблема в том, что я так и не понял как тут принято делать асинхронные штуки. Как сделать так, чтобы сервер отдал данные на обработку какому-то модулю, а сам пошел обрабатывать другие запросы? Или как в PHP держать несколько процессов одного и того же python скрипта?
>>745669 >>745696 >PHP держать несколько процессов одного и того же python скрипта Погодите, помогите разобраться. Уже второй тред вижу различные версии работы веб-приложений. Поправьте, где я не прав. Я себе представляю это так: 1. Веб-сервер, допустим nginx, принимает запрос. Видит, что это не статические файлы, и отправляет запрос wsgi-серверу, допустим gunicorn. 2. wsgi-сервер форкает свой процесс и вызывает скрипт веб-фреймворка. 3. Веб-фреймворк генерирует ответ и возвращает его wsgi-серверу. 4. wsgi пересылает это дело nginx, тот -пользователю. Форк wsgi процесса убивается. В прошлом треде писали о неком процессе django, который так и не был найдет. Сейчас вот версия про автоматические создаваемые несколько процессов python-скрипта. Так как же дело обстоит?
Котаны, можно ли захерачить в торнадо параллельно с ним свои треды? Потому что как только я запускаю HTTPServer хотя бы в 2 потока все мои треды дохнут как мухи
>>745853 В каком месте ты увидел толстоту? Ты не можешь объяснить, какие есть трансляторы для питона? Или ты не можешь объяснить, как сделать обработчик всяких кликов и подобной хуйни для винды (или, например, событий xdotool для *nix)?
>>745882 >мог бы пояснить Я скидывал скрин с твоим передыдущим способом >from functools import partial Хорошая штука. Грид всё равно не хочет ставить "0" хотя другие кнопки рисуются и работают теперь как надо. Спасибо.
Пилить серьезный сайт на связке Angular + Django Насколько хуевая идея? Насколько все плохо будет с индексацией страниц? Подход вообще к фронту как SPA - зашквар?
>>745431 Анон, ну, блядь, пожалуйста. Особенно, третий пункт направь, в какую сторону гуглить человеку, слишком тупому для сайта мсдн (пока что). Пайкьют там или отдельно какой класс, реализующий такие циклические проверки без подвешивания системы, или еще что-то в этом духе? Ну и второй пункт чисто из интереса, раз говорите, что можно.
Проблема: допустим у меня есть посты с content "spa", "SPA", "spam", "spamming" и "spaghetti". При попытке поиска (PostIndex.objects.filter(content=u"spa") или PostIndex.objects.autocomplete) возвращает посты содержащие только "spa" или "SPA", при content=u"spam" соответственно спам. Я хочу чтобы при content=u"spa" он возвращал все посты с этим вхождением и тд. Очевидно что я недопонимаю как работать с апи хайстека, но сам не могу разобраться как это сделать.
Судари, в прошлом треде один из наших коллег заикнулся дескать Django - элементарная штука если понимать как работает веб-сервер. Хочу просить Вас опровергнуть, либо подтвердить сие заявление, и в случае ежели это правда - порекомендовать мне литературы, способной пояснить работу веб-сервера и было бы и вовсе идеально если бы ещё это как-то соотносилось с Django В противном случае, прошу нарекомендовать мне просто литературы по джанго с кучей кода, помимо общеизвестных официального туториала, 2 scoops of django и django by example
>>746326 Это я понимаю, может я его самого неправильно понял? На всякий случай приведу сего господина: >>739358
В таком случае что мне учить, что бы понять как и почему оно так работает? С питоном просто было - почитал много раз пояснения по книгам, посмотрел примеры, написал примеры, решил задания все что попадались по теме и образовалось понимание что к чему. Что мне делать что бы повторить этот трюк и с django?
>>746322 Не читай книги. Не надо. Прочитай какой-нибудь туториал, сделай несколько простых приложений, читай документацию. Если что-то конкретное будет не понятно - гугли или задавай вопросы. А вот когда ты овладеешь какой-никакой практикой, тогда можно начинать читать книги.
>>746338 Для меня загадка даже почему в шаблонах {% %} отличается от {{ }} даже, понимать-то я понимаю что скажем if или url .... в {% %}, но в чем разница между {% url "eeegggg" %} и каким-нибудь {{ django.core..... }}
>>746333 Ничего тебе не надо учить. Ты не в школе и не стишок у доски рассказывать будешь. Тебе нужны навыки. Делай веб-приложения, любые. Не знаешь как сделать - читай документацию, гугли.
Посоны, подскажити. Хочу динамически объявлять классы с простыми иммутабельными полями, как namedtuple. Но при этом нужен опциальный аргумент. Плюс не хочется писать Foo = namedtuple("Foo", ...), т.е. Foo дважды. Пока зделал так http://ideone.com/ztkwr1 Но явно можно и проще как-то. Хочется чтобы и велосипедов было меньше и чтобы как у namedtuple обращаться через точку, "Foo" дважды не писать.
>>746383 А, ну и это должны быть именно инстансы разных типов, ибо если они все буду одного типа, то не будет работать isinstance и нахуй они тогда нужны.
Как-то один анон сказал, чтобы сделать что-то годное и всем нужное, достаточно взять какую-нибудь старую библиотеку и сделать привязку питона к ней или что-то подобное. И сказал что таких штук полно. Может кто знает какие-нибудь варианты? Может я тщеславный ублюдок и хочу собрать звездочек на гитхабе.
>>746561 Собственно EdgeNgramField я потому и попробовал что с CharField у меня не получилось. Тогда такой вопрос - это может быть из-за несовместимости версий эластика и хайстека? Судя по всему https://github.com/django-haystack/django-haystack/pull/1336 сейчас хайстек не поддерживает 2ю ветку эластика
Анон, добавь вопросы, которые у тебя спрашивали на собеседованиях. Вот мои:
1) Декораторы: как работают, как сделать без сахарка; 2) Как работает with, как определить в классе; 3) Генераты: как и для чего, отличие от итераторов; 4) Итераторы: как можно пройтись, как стопануть без брейка. 5) Магические методы: какие есть, для чего; 6) GIL: плюсы и минусы; 7) Асинхронность: как и для чего, отличие от многопоточности; 8) И вопрос ответ на который я не знаю, может, анон скажет: сделать, чтобы при вызове функции каждый раз печаталось некое сообщение;
>>746567 9) Кем вы видите себя через пять лет? 10) Почему ты должны выбрать именно вас? 11) Почему у вас нет вышки? 12) Работали ли вы с <унылый фреймворк/CMS для клепания одинаковых сайтиков нейм>?
>>746586 Базовые типы появляются в программе ещё до твоих оперденей, так что это не будет иметь никакого эффекта. Как минимум. Остальное (твой код) уже можно зделать декораторами.
>>746581 По-моему, в вопросе-таки подразумевается отсутствие каких-либо действий по отношению каждой отдельной функции. Да, у тебя декоратор один на класс, но внутри этого декоратора ты к каждому методу применяешь её один декоратор. Формально, просто сократил код, суть та же осталась.
>>746577 Но как? Наследуются-то они от function, к которому во-первых не подкопаться, а во-вторых, по аналогии с object/int/str, там нельзя будет ничего изменить.
Анончик, как в GTK 3 можно получить список иконок приложений, которые находятся в меню? То есть, как сделать меню приложений с ссылками на приложение и его иконку (например, того же firefox или sublime text)?
>>746567 По Джанго задавали следующие вопросы: 1) function/class-based views отличие, плюсы/минусы; 2) Как и в каком порядке работает middleware; 3) Какие отношения можно определить в полях моделей;
>>746567 >1) Декораторы: как работают, как сделать без сахарка; >2) Как работает with, как определить в классе; >3) Генераты: как и для чего, отличие от итераторов; >4) Итераторы: как можно пройтись, как стопануть без брейка. >5) Магические методы: какие есть, для чего; >6) GIL: плюсы и минусы; >7) Асинхронность: как и для чего, отличие от многопоточности; >8) И вопрос ответ на который я не знаю, может, анон скажет: сделать, чтобы при вызове функции каждый раз печаталось некое сообщение; бесполезная никчемная хуйня
>>746598 Ну такое, оно не работает на встроенные функции, плюс вызывается при объявлении класса, а также на магических методах работает только если они были переназначены вручную. Ну и при объявлении функций, если есть декораторы, тоже вызовется.
>>746820 >Декораторы оборачивают функции, что может затруднить отладку. Проблема частично решена в Python 2.5, добавлением в стандартную библиотеку модуля functools включающего в себя functools.wraps, который копирует всю информацию об оборачиваемой функции (её имя, из какого она райомодуля, её docstrings и т.п.) в функцию-обёртку. Забавным фактом является то, что functools.wraps — сам по себе декоратор.
Анон, где и как учить джанго? Годные книжечки посоветуй, желательно на рашинском, а если и инглиш, то простенький для понимания. Туторы на ютюбе какие-то все не очень. Спасибо!
Здрасте, я тут мимонуфаг. Дано: код на python 3.5. Требуется перевести .py в .exe. Из гугла понял, что единственный (или нет?) способ это сделать - с помощью cx_freeze. Проблема: расширение .whl. Во всех инструкциях, как его устанавливать, пишут какие-то наборы команд, наподобие pip install wheel Но не говорят, куда собственно эти команды вбивать. Так вот, вопрос, куда? Если собственно в прогу pip, то она открывается на полсекунды (так и должно быть, или это кривая установка?). Короче, какой есть человеческий способ перевести файл python именно 3.5 версии в exe?
>>745418 (OP) Здрасте, я тут мимонуфаг. Дано: код на python 3.5. Требуется перевести .py в .exe. Из гугла понял, что единственный (или нет?) способ это сделать - с помощью cx_freeze. Проблема: расширение .whl. Во всех инструкциях, как его устанавливать, пишут какие-то наборы команд, наподобие pip install wheel Но не говорят, куда собственно эти команды вбивать. Так вот, вопрос, куда? Если собственно в прогу pip, то она открывается на полсекунды (так и должно быть, или это кривая установка?). Короче, какой есть человеческий способ перевести файл python именно 3.5 версии в exe?
Аноны, нужна помощь с джанго. Пробую сделать учебное расписание. В models это. http://pastebin.com/ZXfNJLJ6 У меня вопрос, как мне сделать в админке, чтобы при добавлении записи в Timetable, была одна запись "Дата" и возможность добавление нескольких групп из оставшихся записей в таблице. Попробовал сделать новую таблицу Date и к ней привязать таблицу Timetable, убрав оттуда поле даты, но django ругается: day = models.ForeignKey(Date, NameError: name 'Date' is not defined То, что сейчас в models: http://pastebin.com/TAcktRCD
>>747515 Мне кажется, лучше быстро пробежать по книге, чтобы примерно понимать что да как, затем пойти на checkio или codewar какой-нибудь и решать задачки, или начать маленький прожект, гугля необходимое. То есть изучать по ходу дела. А уж потом читать книгу, вникая в тонкости, которые ты бы все равно не понял по первой.
>>747497 Когда создавали гвидон никто не предполагал, что понадобится параллелизм в скриптоязычках. Сейчас уже сказывается исторический фактор и отсутствие жирного вендора, так что каких-то подвижек можно не ждать. Светлов годно расписал: http://asvetlov.blogspot.ru/2011/07/gil.html
>>747116 Мне кажется, что это нужно. При добавлении нового пункта в расписание, например, выбираю предмет и мне должно показывать только тех преподавателей, кто занесен в список преподающих этот предмет, это ведь логично, но мне отображает список всех преподавателей.
>>747542 ipython - это питоновская консолька на стероидах: автодополнение, всякие подсказочки и всё это пашет по трём кнопочкам. jupyther notebook - это типа гугл документов только с возможностью встраивать скрипт и выдачу прямо в а4 листочек что бы красиво и канонично было, и правилось легко. На деле это такой ipython вмурованный в веб-текст-редактор.
привет анон, как экранировать разметку html в python 3.4.0 ? использовал для этого html.escape, вот что получилось(на пиках с Internet Explorer) .Занимаюсь по учебнику Лутца (программирование на python I том 4 издание)
Абсолютный ньюфаг и профан просит совета. Решил попробовать через Flask загрузить изображение и вывести его через форму, но изображение не выводится. Пытаюсь это сделать по примеру официальной документации. Что я делаю не так всё? https://ideone.com/gfYMZ5 https://ideone.com/2HEXdB
>>747896 В укусе питона не настолько детально описаны базовые вещи, работа со словарями, списками и прочим. В Лутце это всё рассматривается намного глубже. Есть ли смысл перечитывать с нуля и скипать то, что и так понятно или сразу переходить к ООП?
>Питон можно транслировать в с++/с#, чтобы работало и было более-менее читаемо? В идеале, в исходном питоне используя функции и классы того, во что собираешься транслировать? В прошлом треде ответили, что можно. Чем/как?
>Можно ли (и если да, то как) написать скрипт автоматизации или макрос, группу таких скриптов-макросов (хоткеи, бинды кнопок и сочетаний, действия с системой), запускающиеся по событию мыши, клавиатуры, системному событию (изменилась раскладка, отключился интернет, етц)? В прошлом ответили, что нельзя, но на днях в /b говорили, что можно, да и из прикрепленного послали к вам или крестовикам (подцепить винапи и писать на нормальном языке типа). Я слишком тупой для сайта МС, даже на сях воспроизвести это говно не смог.
>>747987 > Питон можно транслировать в с++/с# Транслировать можно лишь вызовы к динамической либе пифона. Гугли cython для своих целей. Там вызов именно си/си++ из «пифона» (на самом деле это отдельный язык). > скрипт автоматизации или макрос Я тебе уже в том треде ответил. Есть autoit, есть autoitx в виде dll. Воспользоваться из пифона очень просто. Больше не пиши сюда
>>748076 >Транслировать можно лишь вызовы к динамической либе пифона. Гугли cython для своих целей. Там вызов именно си/си++ из «пифона» (на самом деле это отдельный язык). Подожди, а мне сказали, что питон в любой язык можно как бы "конвертировать". Это пиздеж??? Про вызов одних либ из других знаю. >>748076 >Есть autoit, есть autoitx в виде dll Ну это не то все, блядь. Автоит сдох, к слову. Я хочу понять, как вообще писать событийно-ориентированную хуйню. Неужели это так сложно, что нет никакого нормального гайда? В яве, жс и прочих это искаропки все, я хочу то же самое делать в сях или питоне. Но получилось только простенький клиент-сервер сделать на пхп, да и то он очень нерационально использует ресурсы и требует непрерывного висения этого скрипта в ожидании, что для пхп не норма. Вот, хотелось к вам или к крестовикам перекатиться. Но лучше к вам, т.к. я еще по вебу угораю.
>>748202 Из какого вида, откуда информация берётся? Почему трёхмерный-то? В поле "служба" могут повторяться значения (т.е. у службы может быть 2 и более файлов)? Может быть, словарь будет удобнее? Ведь названий служб-то в массиве не будет, либо это будет костыль тупой в виде ['service1',['file1','location1']].
Как можно распределить списки по вкладкам, чтобы "Офис", "Программирование" и т.д., а имена программ из внутренних списков отображались, например, на `Gtk.Label`?
Сап, можно небольшой вопрос? Спасибо. Листая информацию о питоне, наткнулся на такую фразу: >вместо скобок { } или блоков begin end используются отступы в виде 4 пробелов; это позволяет отлично структурировать код Это действительно так? Не путаются из-за этого люди?
>>748257 4 пробела пухлые как слон, не заметить их невозможно. Это при том что официальная регенерация свести к минимуму вложенность кожа. Если с иде работать которая чёрточки ставит вертикальные на всех if, while, ... - вообще никогда проблем не видел
Просто для справки: как часто питонопрограммисты беспокоятся об производительности? Просто я вот питон программист и не беспокоюсь. Если бы беспокоился - самые злые части писал бы на плюсах
>>748078 > питон в любой язык можно как бы "конвертировать" Не в любой и не полностью. Есть потуги, но это всё пердёж в лужу. > Автоит сдох > Updated: 18 September, 2015 > событийно-ориентированную хуйню Это не к пифону вопрос, собственно, а к ОС. Есть ли у неё такие возможности, чтобы запускать твою хуйню в какой-то момент времени. Обычно делают процесс и он висит и ждёт «события». Либо периодически опрашивает «флажки», либо для этого есть вызов в ОС, который заблокирует твою программульку, пока событие не произойдёт.
>>748304 >как часто питонопрограммисты беспокоятся об производительности? Так же часто, как пишут что-то сложнее скрипта для автоматизации запуска порнушки после ужина, например. Не прям уж каждую миллисекунду выжимать нужно, разумеется, но о глобальных вещах и использовании нампи думать стоит. Например, частная реализация скалярного произведения двух трёхмерных векторов на чистом питоне без каких-либо проверок раз в 5-10 быстрее, чем обобщённая нампиевская (которая как бы на си), что может очень пригодиться, если ты вдруг достаточно сумасшедший, чтобы рейтрейсинг кучи объектов на питоне делать. А векторное так вообще 20+. Мне по работе нужно было сделать небольшое гуи приложение, которое открывает файлы с логами и даёт возможность потом с данными работать. Казалось бы, прошёлся в лупе регэкспом по каждой строке, нахуярил флагов (начало-конец) и готово. Ну запускается секунду-две (логи большие), подумаешь, всё равно ж асинхронно. На деле оказалось, что этот непримитивный регэксп к каждой строке это говнокод какой-то, и является самым проблемным местом, а сделав даже примитивную проверку на наличие ">" в строке перед применением регэкспа сократило запуск до собственно, каких-то там незаметных сотен миллисекунд.
В общем, если если риалтайм, есть пользователь или можно сократить приличный кусок абсолютного времени, то о производительности хотя бы забывать не стоит.
Нуфагу нужна хелпа. Как в админке django сделать выбор из нескольких элементов для типа TimeField? Пробовал так же как и для CharField, но в админке ругается, мол формат времени не подходит: models.TimeField(choices=times) В times кортеж из ('HH:MM'). Настройки формата времени пробовал менять, один и тот же результат
>>748341 Да это вряд ли от производительности, там нужно десятки миллиардов раз эту операцию делать, чтобы хоть секундочку выиграть. Скорее, просто по привычке от других случаев притащил, вроде >var rights = ('full', 'no')[sex == "male" && skin == "white"]
>>745418 (OP) У меня рак случился. Писал-писал шкрипт и внезапно в половине мест "приватные" поля идут с __ вместо _. И еще методы где-то накосячены. Памяти нет, все заебало, ненавижу это убожество вместо языка.
>>748308 >Обычно делают процесс и он висит и ждёт «события». Либо периодически опрашивает «флажки», либо для этого есть вызов в ОС, который заблокирует твою программульку, пока событие не произойдёт. И как (если возможно) делаются на шинде эти три варианта?
>>748617 Не называй идиотом >Два варианта. 1) >Обычно делают процесс и он висит и ждёт «события» 2) >Либо периодически опрашивает «флажки» 3) >либо для этого есть вызов в ОС, который заблокирует твою программульку, пока событие не произойдёт. ??? Алсо, "флажки" - это ведь вещи нечто вроде логических переменных окружения "клавишаНажата" и символьных вроде "активноеОкно", "кодНажатойКлавиши"? Ты, получается, делал "третьим способом"?
>>748645 1 - это идея. 2 и 3 как раз два варианта реализовать эту идею. Обычно человек приходит в бухгалтерию и ждёт зарплату. Либо периодически заглядывает в кабинет, либо к нему выходит Машенька с конвертом.
>Алсо, "флажки" - это ведь Да. Вот только нахуя тебе autoit посоветовали не понятно, оно ж никак к >по событию мыши, клавиатуры, системному событию (изменилась раскладка, отключился интернет, етц) не относится
Мне кажется, это нельзя. По крайней мере, в семёрке ведь даже раскладка у каждой программы своя, а не одна глобальная какой мудак это придумал вообще, и не очень ясно даже тут, что делать при альт-табе: формально же раскладка сменилась, но вряд ли тебя это интересует. То есть, фоновым процессам вряд ли чего подобное отсылается.
>>748675 >autoit Автохоткей. Ну как-то это явно делают все это. Я примерные ивенты написал, в крайнем случае, я могу сделать, например, реакцию на нажатие кнопок, а там уже проверку, какая сейчас раскладка.
>>748645 Вот тут >>748645 примерно всё объяснили. Autoit даёт какие-то возможности. Ты ведь задачу конкретно не описывал. Глобальные хоткеи вроде можно повесить.
>>748899 >>748898 Тут - это где? Глобальная задача - хочу научиться писать скрипты автоматизации, в том числе вот реакцию на всякие события клавиатуры и мыши и прочие такие. Питон как наиболее симпатичный язык. >>748899 Нет, мне советовали в /s автохоткей, а в прикрепленном в /pr вместо него отправили к вам.
>>74930 Напиздел я тебе про timedelta, она только с datetime работает. Можешь приводить к datetime, прибавлять timedelta и потом брать оттуда время, но проще так:
Аноны памахите! импортирую относительно пакета в python 3.4.0 и выдает такую ошибку : SystemError: Parent module '' not loaded, cannot perform relative import
>>749457 Сильно зависит от случая на собеседованиях. Бывает, что задают вопросы, а ты их наизусть знаешь, потому что каждый день этим занимаешься или просто отложилось хорошо, бывает и наоборот, соответственно, вот тогда-то я заваливаюсь, потому что глубоких знаний нет, говнокод только по докам и гуглу могу писать. Звали как-то в жирное место, когда казалось бы я завалил интервью, задали пару общих вопросов по архитектуре и бд. А вот в другом сразу нахуй послали, когда не смог рассказать что-то про интепретатор питона, асинхронность и говногил.
>>745418 (OP) Помогач, ты нужен как никогда Вася решил выложить бордюр из кипричей для дорожки на своем участке. Расположенный по соседству кирпичный завод выпускает кирпичи длиной A1, A2, …, Am. Промоутеры завода раздают потенциальным клиентам по 2 кирпича бесплатно. Вася взял по 2 кирпича каждого типа и теперь хочет узнать, может ли он выложить из них бордюр длиной N и толщиной в один кирпич. Формат ввода
Сначала вводится число N (1 ≤ N ≤ 109), затем — число M (1 ≤ M ≤ 15) и далее M попарно различных чисел A1, A2, …, AM (1 ≤ Ai ≤ 109). Формат вывода
Выведите сначала K — количество кипричей, которое нужно использовать для выкладывания бордюра, если можно выложить бордюр длиной ровно N. Далее выведите K чисел, задающих длины использованных кирпичей. Если решений несколько, выведите вариант, в котором Вася использует наименьшее количество кирпичей. Если таких вариантов несколько, выведите любой из них. Если для выкладывания бордюра придется обязательно разломить какой-то кирпич, то выведите одно число 0. Если же у Васи не хватит кипричей, чтобы выложить бордюр, выведите одно число –1 (минус один).
Помогите нуфагу с джанго. В таблице есть поле ManyToMany, как обращаться к сгенерированной таблице, чтобы получить id записей из нее, которые связаны с основной?
>>749643 blocks = list(map(int, input().split(" "))) <= обрати внимание, это список, а не множество/словарь ... ____for x in blocks: <= N итераций ________if N-x in blocks: <= N итераций, в списке in ищется полным перебором
>>749617 Веб-хуета, шлёт гет/пост с устройства на другой сервер, там происходит неведомая ёбаная хуйня и отвечает тем же жсоном, юзер посылается нахуй или авторизовывается.
>>749702 pyenv + venv + бинарные сборки, но вообще говно. Как я понял изначально преимущество анаконды было в том, что там были бинарные пакеты для разных ОС. Но сейчас это появилось в pypi, wheel поддерживает бинарные сборки, чем воспользовался ривербанк и выложил pyqt5.6 и теперь его можно под любой (популярной) ОС поставить через pip не имея ни qt, ни компилятора. Для меня причиной почему я не стал даже пробовать использовать анаконду является то, что в официальном репо нет pyqt5. Это просто днище уровень.
>>748994 >Короче, поставь хотя бы одну-две конкретных задачи, а то с твоими абстракными запросами хуй поймёшь, чё тебе там в действительности надо. Поставлю и никто как всегда нихуя не ответит. Так хоть какие-то советы общего плана получаю. Ладно, допустим: 1) По нажатию alt+a+e печатать символ æ, а по shift+alt+a+e - символ Æ. Разумеется, по отдельности а и е должны по-прежнему нормально работать. 2) При перетаскивании активного окна в левый верхний угол экрана (за его верхнюю рамку) развернуть его в этом верхнем левом углу (на 1/6 или 1/4 экрана, например, не суть).
Я хочу писать это на питоне или подобном, потому что это именно скрипты автоматизации, а не какие-то невъебенные проги, для которых там быстродействие нужно или еще что-то такое. Ну и не на джаве, ее просто нахуй с этой джава-машиной и прочим.
Питонисты, хотел сделать сервис на джанго, но как получилось его нужно будет быстро масштабировать. Что для этого подходит? Сказали что сразу внедрять мой сервис не будут, но если он проявит себя с хорошей стороны нужно будет постепенно увеличивтаь количество серверов. Как деплоить джангу без проблем? Использовать докер?
>>746567 на удивление полезные вопросы, не уровня "Кем вы себя видете через пять лет". Про паттерны не хватает вопросов. У меня спрашивали про особенности параллелизма/много поточности в пайтоне, про типизацию, TDD и необходимость написания тестов. Спрашивали про скорость работы интерпретируемого кода, ускорение работы и целесообразность ускорения, спросили, как динамическая природа языка упрощает использование Design Patterns
>>750098 А, забыл, еще про линуксы спрашивали, работу с AWS, Django/Flask/Celery/Redis/PostgreSQL стек, системами management configuration (ansible, salt, etc), потрындели на английском. Middle Software Engineer, 2-я по размеру контора страны
>>750098 >Спрашивали про скорость работы интерпретируемого кода, ускорение работы и целесообразность ускорения И что ты на это ответил?
Если работает недостаточно быстро - нужно ускорить. Если затраты на ускорение меньше дополнительной прибыли от ускорение, то можно ускорить. Если делать нечего — тоже можно ускорить. Что тут ещё-то можно сказать вообще, лол.
>>748334 Много способов. Юзать __slots__ в классах, чтобы уменьшить потребление памяти По возможности распараллеливать код (IO-bound вещи в ThreadExecutor/asyncio, CPU-bound - в multiptocessing, ProcessPoolExecutor), Для сложной математики юзать numpy, scipy, где не хватает их - добавлять JIT-компилицию через PyPy/NUMBA Jit. Обычная компиляция через Cython дает x2 производительности на обычном коде, в среднем. Ну, само собой нужно смотреть на алгоритмы, если у тебя поиск чего-то занимает N^4, то исправляй это место Обязательно юзать профилировщик, чтобы понять, какой кусок кода выполняется больше всего раз и оптимизировать его.
Ну, и понять, нужно ли тебе вообще его оптимизировать, заметна ли в твоем кейсе разница между секундой и половиной секунды. Можешь читануть книжку High Perfomance Python, там хардкорно поясняется за оптимизацию производительности
>>750102 рассказал про то, что ускорять не всегда надо (premature optimization is the root of all evil) и про все, что знал, как можно ускорять код на питоне, тут где-то ответ есть. Ну, естественно рассказал про всякие менеджерские трейд-оффы
>>750028 1. Лучше уже упомянутый AutoHotKey используй, потому что на чистом питоне всё равно не сделать, только через биндинги к подобным библиотекам. 2. Таки не зря autoit советовали. Каждые n миллисекунд получай активное окно, проверяй координаты и, если попадают в нужное место (я не знаю, откуда там отсчёт начинается), изменяй размер окна.
Мне, однако, кажется, что питон далеко не самый лучший выбор для подобных задач, которым требуется привязка к window manager'у и клавишам будучи фоновым процессом, и лучше что-то конкретно виндовое найти/делать.
>>750302 Нехуй писать однострочную лапшу раз сам не понимаешь как она работает, нахуя ты в container.add() передаешь результат button.clicked() он возвращает int вместо button Gtk.Widget? Олсо, gtk-шный обработчик передает в функцию ещё сам виджет. https://ideone.com/DSi7kC
>>750191 У меня сложный урл с пробелами, да и удобнее в виде словаря передавать, а не писать велосипеды для парсинга урла. Неужели нет встроенной функции передачи параметров?
Кстати, вам когда заказчик говорит разобрать жс-подгружаемую страницу, то что принято использовать? Селениум+фантомжс нормальная связка? Ghost.py у меня не работает, почему-то, лол.
Какие требования к программисту на питоне? Что спрашивают на собеседованиях? Вот я освоил Укус, Лутца почитал. Подучил библиотеку, пишу всякую хуйню for fun, типа небольшой борды. А как вкатиться в разработку и поиметь с этого профиты? Учить джангу и фласк? Что есть кроме веба? Какие фичи языка нужно изучить ещё?
http://pastebin.com/aLsrgsVQ Как отфильтровать значения 2 модели по day? Пробовал Model2.objects.filter(day=datetime.date.today().strftime("%Y-%m-%d")) Бросает invalid literal for int() with base 10: '2016-05-22'
Только начинаю учиться программировать. Уже немного умею на питоне и лиспе. Несколько дней назад наткнулся на этот сайт: http://interactivepython.org/ Зацените тессеракт.
>>750108 >на чистом питоне всё равно не сделать Я понимаю, няша, мне это сразу прояснили >только через биндинги к подобным библиотекам. Я и хочу! Через Qt, голый WinAPI или биндинг к нему >Каждые n миллисекунд Ну хуй знает, очень перегрузит систему же >Мне, однако, кажется, что питон далеко не самый лучший выбор для подобных задач ;-( Я хотел взять питон как самый универсальный, чтобы стать через лет 5 на все руки мастером, и бэкап данных запилить, и сайт с джангой, и десктопную хуйнюшку с PyQt, и скрипты автоматизации, и под прыщеоси... Типа как язык для всего , но не джава
>>750485 Вот этот вот одностроный for с командами через запятую - не делай, потому что, во-первых, работает оно совсем не потому, почему ты можешь подумать тупл создаётся, а во-вторых, это нечитаемо нихуя.
>Ну хуй знает, очень перегрузит систему же Да нет. Раз в полсекунды выполнить ничтожную операцию это не так уж и затратно мало.
>и скрипты автоматизации То, что нужно тебе - это не совсем автоматизация, я бы сказал. Короче, тут всё упирается в то, создаёт ли винда какие-то либо события на подобные действия, которые может любая программа перехватить или нет. Начни поиск с этого. Потому что если система не сообщает о, например, смене сетевого устройства, но любое решение будет костыльным.
>>750943 Блин ну это ж инструмент а не сакральная панацея какая-нибудь. Ну сдохнет и ладно, нам было хорошо вместе, теперь выучу что по-интереснее. Не сдохнет - ещё лучше. Чего бы она прямо сейчас взяла да загнулась - я хуй знаю, работает охуительно, вопросы решает. Кайф же.
>>750639 Ну, самый "для всего" из тех, что я знаю. Лаба1 - джава Апплеты, сервлеты (то бишь десктопное говно, веб бэк, веб фронт) - джава Десктопное тормозящее говно, в том числе событийное - джава Энтерпрайз - джава Мобильники - джава. Но мне она не нравится своей перегруженностью кода, зависимостью от наличия джавамашины и т. д. >>750640 >и дальше не даёт распространяться Это в смысле хук кнопки, или что ты имеешь ввиду? >>750640 >Раз в полсекунды Скорее 100 раз в секунду >Короче, тут всё упирается в то, создаёт ли винда какие-то либо события на подобные действия, которые может любая программа перехватить или нет. Начни поиск с этого. Потому что если система не сообщает о, например, смене сетевого устройства, но любое решение будет костыльным. Так это вот мне в прикрепленном насоветовали: >Ну епт. Идешь и читаешь в MSDN статьи про SetWindowsHookEx и LowLevelKeyboardProc, ну и про RegisterHotKey можно. https://msdn.microsoft.com/en-us/library/windows/desktop/ms646296%28v=vs.85%29.aspx http://ideone.com/JPEa7X Только это все слишком сложно пока для меня, особенно в голом виде да на крестах, я вещей вроде static LRESULT CALLBACK LowLevelKeyboradProc(int code, WPARAM wParam, LPARAM lParam) и SetWindowsHookEx(WH_KEYBOARD_LL, &LowLevelKeyboradProc, GetModuleHandle(NULL), 0); нихуя не понимаю
>>750948 Если посмотреть на то куда двигаются технологии то понятно что джанга не нужна. 1)Сейчас в тренде микросервисы, а джанга для них не очень подходит. 2)Так же ты не можешь заменить стандартную орм точнее нет смысла это делать, из за чего нельзя использовать всякие монго, графы и т.д. 3)При создании SPA ты теряешь практически все фишки джанги включая админку. 4)Зачем иметь отдельный сайт для браузеров и отдельно приложение для мобилок через рест?
Ну серьезно, какое сейчас применение у джанги? Только магазинчики клепать. Сегодня важен юзер-экспириенс, поэтому основная разработка происходит на фронте, а на бэкэнде обычно крутится примитивный рест-крад. Алсо фласк тоже не идеален, особенно для новичков, которым я рекомендую сначала посмотреть как все делается в джанге. Возможно так же стоит посмотреть на новые фреймворки типа HUG и aiohttp нет
>>750976 >Это в смысле хук кнопки, или что ты имеешь ввиду? Как я понял из его описания, если питон поймал нажатие нужной кнопки, то ни в какую другу программу это нажатие уже не попадёт. Может оно и не так, возьми да проверь, там кода 5 строк же.
>Скорее 100 раз в секунду А зачем тебе так часто?
>Только это все слишком сложно пока для меня Ну, учи тогда. Я, надеюсь, ты уже за эту неделю понял, что никто такого на питоне не делал и более никакой помощи тебе не даст? Если так хочется питона, то его можно и через C API вызывать из c/c++ кода после того как перехватил событие.
Есть один список, часть элемент больше нуля, часть - меньше. Мне нужно получить списки номеров элементов этих частей из изначального списка. Подскажите плз.
Алсо, как нормально сгенерить список случайных элементов с повторениями? Каждый раз забываю. Что-то вроде itertools.combinations_with_replacement, но чтобы не нужно было сначала создавать хуиллиард туплов со всеми комбинациями, а затем выбирать случайный.
>>751223 Так от меня ты что теперь хочешь? Проходишь в лупе по своим элементам, если больше нуля — аппендишь к одному списку, если меньше — к другому. Угадать, что там и в каких переменных у тебя я, к сожалению, не в состоянии.
>>751223 Если вдруг намёк не понял: весь код скидывай. У тебя first и/или second это словари. Что в них и зачем, а также почему это не только что созданные пустые списки, я понятия не имею, ты должен объяснять.
>>750524 import turtle wn = turtle.Screen() t1 = turtle.Turtle() t1.ht(); t1.pensize(5); t1.rt(90); t1.up(); t1.fd(200); t1.down() t1.lt(112.5); t1.fd(100) for i in range(7): t1.left(45); t1.forward(100) t1.lt(90) for n in range(3): t1.fd(100); t1.rt(45); t1.fd(100); t1.lt(135) t1.fd(100); t1.rt(45); t1.fd(100); t1.lt(90); t1.up(); t1.fd(100); t1.down(), t1.lt(135) for n in range(3): t1.fd(100); t1.lt(45); t1.fd(100); t1.rt(135) t1.fd(100); t1.lt(45); t1.fd(100); t1.lt(180); t1.fd(100); t1.lt(45) for n in range(8): t1.fd(100); t1.lt(135)
>>751292 Вы заебали. Выучите хоть одно что-то, что бы понять чтр им одним все щели не заткнуть, что нет идеального инструмента с одной стороны, но и принципиальной разницы между ними нету. Питон для бекенда и жс на фронтенд - это уже та комбинация, которую можно продать и которой можно пользоваться. > двач я учу фотошоп что мне выучить - выделение по маске или такое, обычное. Что учить что не учить? Ответь с точки зрения логики
>>751342 На вопрос, что актуальнее js или питон, ты ответил "и то, и то". Потом начал рассказывать, что надо оба выучить. Какое это все имеет отношение к вопросу об актуальности языка?
Как отфильтровать значения модели по fk? Если использовать Model.objects.filter(fk=...), туда нужно вбивать id, а у меня есть только значение, по которому фильтровать нужно.
>>751422 Возможно, я не так вопрос задал. В Model1 поле type=models.ForeignKey(Model2) В Model2 поле type=models.CharField() Нужно вывести все элементы Model1, отфильтровав по определенному значению type в Model2.
>>751217 >([positive, negative][v < 0]) камрад, поясни за эту конструкцию, как она представляет список, к которому применяется аппенд, и как выбирает, к какому из списков добавлять элемент, или дай ссылку на описание конструкции
>>751507 True - единица, False - ноль. Результат выражения [v < 0] есть индекс элемента из списка [positive, negative]. Если False - элемент c индексом 0, то есть positive, если True - элемент с индексом 1, то есть negative. Я не он.
>>751183 >А зачем тебе так часто? Ну клавиши отслеживать, например. Нажатия мыши в какой-нибудь игре еще быстрее, наверное, происходит. >Я, надеюсь, ты уже за эту неделю понял, что никто такого на питоне не делал Хуево. >Если так хочется питона, Ну просто он такой...няшный Я с PHP хочу укатиться, но чтобы веб не терять. Джава с шарпом меня бесят своей корпоративностью и перегруженностью кода, на плюсах веб не пишут, жс - хуй знает, синтаксис вырвиглазный и слишком он нестабилен, 5 фреймворков-однодневок в месяц новых. И работу хуй найдешь, если не фронтенд. А питон - выглядит няшно, пишется красиво, не кококорпоративен, работа более-менее при этом есть, джанга да фласк, фласк да джанга, ляпота
>>751489 Сука, какой же ты больной ублюдок. Таких раньше в дурках галоперидолом закармливали до состояния овоща и правильно делали. Неудивительно, что у тебя нет тян. На самом деле ты молодец.
Анон, как ты в Фласк/Джанго обрабатываешь ошибки? Есть куча гет/пост-запросов на удалённый сервер, наговнякал примерно такую обёртку, чтобы не писать простыню на каждый запрос: http://pastebin.com/KPq8S36T сойдёт? Как сделать лучше?
>>745418 (OP) Недавно начал изучать Python, прошел курс по основам, прошу совета у опытных: Есть ли какие-нибудь сурсы со свободными реальными проектами (где, ясно дело, никто денег не заплатит), чтобы прокачать скилл и понять как это всё происходит в реальности.
>>751627 >Ну клавиши отслеживать, Клавиши отслеживать это autohotkey и то, на что я ссылку на СО давал, там не нужно поллить, события нажатий сами приходят. ПРо каждые n сек я говорил проверять положение активного окна. Ты оче хуёво читаешь, если честно.
>>752649 И с чего ты взял, что я не в теме? больше двух лет в питоне, начинал без опыта Ты, дебил, вместо того чтобы самому посмотреть рынок труда, спрашиваешь совет на дваче. Иди лучше пхп учи или js, там точно есть работа.
Два года назад дропнул вузик с ИТ специальностью, из скиллов - плохо помню С, немного C#. В данный момент сисадмин в говнохостинге, захотелось обмазаться python'ом и кодить в уютном офисе.
Возникает вопрос - какова средняя по ДСу ЗП у мидла питониста? Каков мастхев? SQL знаком, *nix знаком, pyton - 0. Планирую ближайшие месяца обмазываться python'ом и django. Что еще могут захотеть от меня?
Петян, каким редактором обмазаться, чтобы писать скрипты? Хочу сверху писать своё говно, запускать его в другом фрейме/окне/рамке и в ней же в интерактивном режиме ещё ковырять результаты этого говна. возможность потом добавить эти ковыряния в свой код были бы совсем кошерными.
>>752675 >>752808 Еще добавлю что бывает плюсом знание работы virtualenv, {u}wsgi, что-нибудь для деплоя по типу ansible, вебсокеты там, понимание асинхронной модель плюсом пойдет. Желательно как работает говно на фронтеде понимать.
>>752850 Ага, нашел-таки на stack overflow. А дальше чё делать? >>To use it go to Tools>sublimerepl>python from the menus. Как видно из пика, нихуя такого нет, какие-то вложенные списки
>>752959 Ну у меня вообще нет образования, начинал без опыта работы. Мухосранск <1кк.
Просто идешь на hh.ru и смотришь какие есть вакансии. Смотришь, что в требованиях везде пишут, если что-то не умеешь, слова не знаешь - гуглишь, учишь. Подсказка: тебе не обязательно знать всё, берут даже если ты знаешь только 50% от их "обязательных" требований. Пиши тем, кто ищет стажеров, людей без опыта или с небольшим опытом (1-3 года). Сделай нормальное резюме, нормальный акк в вк (сейчас все смотрят твой вк). Если не получится найти на так, то ищи активным образом. Узнай какие есть компании в городе, чем занимаются, попробуй найти контакты их эйчаров или менеджеров, сам пиши им на почту. Можно даже сотрудниками в вк попробовать писать. Поиск работы это не хуи пинать. Удачи, короче.
>>752990 Тут скорее возьмут/не возьмут. Ну минимум ты должен норм знать язык, фреймворк, git (git-flow), linux, реляционные базы, html/css/js (хоть что-то, даже если ты чистым бэкендом будешь заниматься). Опыт всегда только профильный указывается.
есть одна BST в ней есть функция traverse() которая в каком то порядке обходит все узлы этого дерева Понятно что их можно печатать по мере обхода. А можно ли их как то выдавать по одному в функцию которая вызвала traverse() ? Чую какуюто еблю с yield, поясните только не защеку
>>752944 Это ж интерактивный интерпретатор, он так работает. Как бы можно сделать file - new file, что-нибудь написать и нажать там run module. Но лучше просто поставь норм редактор, пиши в файлик и запускай в нем (или через консоль).
>>753022 это да, но детали не ясны. ведь когда мы обращаемся к traverse() оно разве должно не один раз пройтись по циклу и отдать что есть(т.е. "1")? Почему оно успевает выдать 1.2.3 ?
>>753132 да. у тебя, блять, не будет колбасы из списков после каждой функции в памяти лежать. я понимаю, что хабр - чисто пидорский источник, ходить туда западло, вот потому, антоха тебе всё правильно затрёт про чёкавосучара.
Хочу использовать eclipse + pydev в качестве среды разработки. Как быстрее и проще всего установить их? Может, где-то можно скачать их сразу соединенные? Не хочу еще день въябывать на долгую установку
>>753179 Петян, спасибо, охуенчиком, от души, прямо-таки. шустрее и бодрее этого пижарама. расскажи ещё, где у спидера автодополнение, и почему оно не работает по ctrl+space?
Бля помогите дебилу, прочитал Учебник ”Основы программирования на Python”, всё понял, но не ебу как писать игру на питоне. Ясен хуй, что за 3 дня не станешь ебаным гением(тем более с учебником в 40 страниц), поэтому ебаните нормальной литературы на эту тему. Марк Лутц 4е издание Изучаем питон- годнота чи пошёл я нахуй ?
>>753346 Смотря какого рода хочешь писать игру. Мое знакомство с питоном началось с написания микророгалика в 1к строк. Ничего лишнего, только Python с модулем random, консоль и ASCII. Бросил его, не осилив ИИ. Если же хочешь писать 2d игры с двиглом гугли в сторону Box2d. Для 3д тоже есть куча движков с python оберткой. А вот если хочешь создать СВОЙ движек, на питоне далеко не уедешь (тормозная змеюка).
Сосаны недавно решил обмазаться джангой, запустил сервер по офиц документации, ничего не понял как и почему работает, это нормально? и вообще джанга очень сложная?
>>753397 Я не хочу именно в игроделание лезть, просто мне кажется что написать игру на питоне-это и проверка того, можешь ли ты вообще кодить, и как ты знаешь язык
>>753468 SproutCore/Ember уже хуй знает сколько лет, нет хочу лапшу на $ писать. MVC не серебряная пуля, но оно оптимизирует многие вещи, когда ты с ними разберешься.
>>753557 Не, буду кароче читать Лутца (Изучаем питон,программируем на питоне), потом уже начну делать что-то. Не хочу по ходу задачи искать решения, не для первого языка это.
Когда запускаю руками run.py на том же порту, что и слушает nginx, всё выдаётся, т.е. нжинкс на фронте всё равно вроде как работает, а на lighttpd-нихуя.
Даже так работает через run.py, а через сервер нет:
Алсо, какие права должны стоять на файл, чтобы писать в него логи? Вроде 0777 поставил и владельца менял на www-data, а www-data всё равно писать в него не хочет.
>>753608 Я понял о чем ты, сам использую бекбон из схожих соображений, но пока подход к построению фронтенда не устаканится ни о каких долгоживущих фреймворках и речи быть не может, 4 года — это не возраст, ещё через 4ре года ни о каких емберах уже никто не вспомнит, а "устоявшимися" фреймворками будут react'ы и прочие polymer'ы.
>>753520 Да ты что?! Типа у uart/eth/milstd1553 нет протокола обмена? Стартовые, стоповые, контрольные биты и тому подобное. Так-то они все по двум проводам передаются.
Анон, поясни по-хардкору как подгружать модули. Нихуя понять не могу. Версия 2.7. lxml установил только потому что .exeшник был, а ещё надо pandas поставить. Она вроде поставилась, но при импорте ругается на отсутствие numpy. А вот этот сраный нампай поставить экзешника нет. Пытался через cmd сурс собрать - вечно ошибки выдает и ругается. Поясни по-хардкору как накатывать, шоб кошерно было. Да, я ньюфаг.
Нихуя не понимаю, че они с фласком сделали? Решил попробовать эту 0.11ю, сука, не выходит урок пройти, flaskr initdb не пашет, пишет - модуль не найден. Старый способ, через импорт и init_db() не работает, пишет - траляля, иди нахуй, читай документацию. Пиздос, теперь сиди и разбирайся.
Нубский вопрос: как получить n-ый символ юникодной строки? value = norm.encode('utf-8') print value[0] Получаю что-то вроде "D0", т.е первый байт первого символа, хотя вроде бы encode должно возвращать уже юникодную строку. ЧЯДНТ?
Так, товарищи. В общем, у меня есть html-файл, в нём есть divы, в которых лежат куски, содержащие разные пикчи. Я хочу эти пикчи поочерёдно открывать. Так вот, как мне искать линк на эти пикчи, зная, в каких конкретно divах они лежат? То есть там нечто вроде <div class="нужный класс"><IMG .....></div> Несколько нубский вопрос, но всё же.
>>759257 Нубский ответ (python 2.7) norm=u'АБВ' value = norm.encode('utf-8') print value # строка выводится нормально print len(value) # длина = длина строки * 2 char=str(value[0])+str(value[1]) print char # А
привет, у меня есть один вопрос. Что значит такое расширение файла : "filename.py~" а именно ".py~" если смотреть через терминал то много таких файлов с именно таким расширением( "~.py" ), а если зайти в папку обычным способом то таких файлов с таким расширением( "~.py" ) нет. Заранее спасибо за ответ.
>>745431 >Питон можно скомпилять в экзешник py2exe, pyinstaller, cx_freeze (на самом деле их больше) качаешь@пробуешь. У меня вот работает только pyinstaller.
Я правильно понимаю, что pyjs (pyjamas, http://pyjs.org/ ) работает только со вторым питоном? inb4 переходи на Brython - мне не нужен Brython, мне хотелось пигеймовскую игрушку с помощью pyjsdl транслировать в браузерку, но, видимо, не судьба.
Ребят, я новичек в вебе, собственно пытаюсь сделать простую вебку, для перевода оценок из 10 в 5ю систему. И все бы ничего при фиксированном кол-ве полей(IntegerField), но как сделать их динамическими? Ну тоесть что бы можно было хоть до боли грузить оценки. (Нажал на add, появилось еще одно поле и тд) Сделал пока что через comma separated value, как временный вариант, но не салидно это. Помогайте, гуру. Собственно, если кто-то знает как сделать это скажем по средствам Bottle, то ответы приветствуются. Интересно что это за чудо.
Код вбрасывать в тред через https://ideone.com/
Прошлый: