Шапка: https://github.com/TheKnightsWhoSayNi/info/wiki/HatПрошлый: >>649120 (OP)2.х или 3.х v1: http://legacy.python.org/dev/peps/pep-0373/2.x или 3.x v2: https://wiki.python.org/moin/Python2orPython3
Вы уверены?
>>656107Да.
Здрям, аноний. Впервые в этом уютном тредике, и сразу выкачу хуйню.Джанга охуенна своей моделью моделей, админкой и сообществом. Но при этом всё, что в ней касается собсно фронтэнда (все эти формы, хтмл-шаблоны и прочее дерьмо) - на грани устаревания. Всем нынче подавай динамику дохуя, асинхронность, чтобы ни одного релоада страницы за многочасовую сессию - ну, я конечно преувеличиваю немного, но общая тенденция всё же именно такова. Через пять лет это уже будет ожидаться от сайта по дефолту и джанга начнёт подсасывать. Не сосать, конечно, потому что модели, админка и сообщество - тащат.Так вот. Я уже и сам с этим столкнулся, в итоге взял для бэкэнда джангу + рест фреймворк, а на фронтэнд накатил эмбер (который явно создавался под влиянием и джанги в том числе). Это всё вместе работает очень даже неплохо, если бы не одно но. Даже, скорее, НО.Блядский, триждывовседырыразъёбанный, охуевающий в своей промудопиздяцкой уёбосущности жабаскрипт, без которого о современном фронтэнде ты даже и думать можешь забыть. Да, разумеется, я юзаю кофескрипт - но это сродни попытке отрешиться от того, что ты ебёшь насквозь прогнивший и разваливающийся прямо на члене труп, нарядив его в кружевное бельё, оторвав всякие лишние детали да чуток полив сверху эмалью.А ведь всего лишь на другой стороне коннекшена у меня крутится прекрасный няшка-питон, который в последней его, 3.5, ипостаси УЖЕ гораздо лучше подойдёт для любой фронтэндерщины, нежели этот выблядок сей с лиспом родом из девяностых.Проблема, конечно, очевидна - ебучие браузеры нихуя не понимают нашу любимую змею. Есть вонючая кучка трансляторов py->js, но все они как-то внешне больше похожи на трупы, да и async/await, жизненно необходимые для фронтэнда, они все как один игнорируют, уёбушки.В связи с этими печальными обстоятельствами у меня баттхёрт, что опять же очевидно. Ну и ещё какие-то смутные планы по запиливанию своего транслятора py->js, разработки под него собственного фронтэнд-фреймворка лайк э эмбер и далее, чем чёрт не шутит, запихивание поддержки питона в браузеры, благо хромиум и лиса открыты, так что теоретическая возможность есть.Разумеется, я понимаю что я баттхёртящий долбоёб и влажный мечтатель, ниасиливший js. Просто захотелось поделиться этим самым баттхёртом и влажными мечтами, вдруг это действительно нужно кому-то, кроме меня.
>>656075Ну а тебе скажу что программирования я учил традиционно, бейсики-плюсы-асмы-шарпы. Да и в js я могу, там нет ничего эдакого, не считая конечно что это куча дерьма, которую постоянно подпирают костылями.
>>656133Смотрите внимательно, дети. Если вы будете начинать учить программирование с питона или раби, то станете такими же неосиляторами, не способными в изучение других языков, в которых нет примитивного синтаксиса для школьников и домохозяек. Этот экземпляр не может освоить даже JS - что уж говорить о C++/C#, Java и других языках, на которых есть работа.
>>656197>ставить JS в один ряд с языками программирования
>>656213Если это не язык программирования, почему ты не смог его осилить?
>>656224>ты>подразумевать, что в треде только ты и твой оппонент
ЖС-блядь унижает питонистов в их собственном треде.
>>656197Смотри >>656139.Тащемта, я нигде не говорил что его сложно осилить. Меня просто дико раздражает необходимость писать на хреново спроектированном языке - и особенно остро, прямо вот как шило в булке, эта недоспроектированность ощущается когда ты переключаешься между вкладками идешки с питоном и js. Когда в одном файлике у тебя полный порядок, всё разложено по полочкам отступов, линейно и вообще по дзену, а в соседнем - сошедшая с ума подсветка, потому что слишком много функций с таким названием наговнокодили джсники, а про импорты сжалившиеся соседи им рассказали только пару лет назад. И лесенка промизов вместо асинков. И для нормальной работы с датами, которые вроде как почти примитивы - либу скачай и потом не забывай все "нативные" даты в вызов оборачивать. И про перегрузку операторов забудь, пожалуйста, у тебя ведь методы есть, хуле ещё надо? И именованные параметры давай-ка явно словарём передавай и потом чекай вручную. И ещё тонна всяких мелких хуёвин, которые все вместе вызывают желание блевануть и забыть про этот пиздец как про страшный сон... Но хуй тебе! Нет альтернатив, поэтому вот тебе надкусанный кактус, вот платочек, и давай, давай, ам-ам, плак-плак. Неосилятор!
Чёрт, да если вдумчиво засесть за расписывание недостатков жабоскрипта, можно накатать второй "Фрактал плохого дизайна", не меньше. Символично, как по мне, два пиздеца веба - пыха и джс - столь тесно связаны... Наверно, это заразно. И хоть я очень не люблю пыху, ей во всяком случае есть нормальные альтернативы, поэтому она у меня такого бомбления не вызывает. Но стоит спуститься с сияющих небес бэкэнда на бренную землю браузеров...
>>656256>>656263Нульчую.
Тут вот https://habrahabr.ru/post/215777/ кто-то попытался объять необъятое, но не могу сказать что получилось. Слишком это отсосный фрактал, чуть копнёшь - и затянет.
>>656256>лесенка промизов вместо асинковЧто тебе мешает сделать цепочку. Лесенками пишут только долбоёбы.
Пишу на питоне и жаваскрипте, оба языка нравятся. Что я делаю не так?
>>656283>что тебе мешает сделать цепочкуКстати да. Если человек ноет про колбекхелл или лесенки, то это отличный детектор дебила, который городит сам себе сложности, а потом винит язык. Причём так практически со всеми жалобами - копни глубже и окажется, что виноват кодер, а не язык.
>>656291>виноват кодер, а не языкhttps://www.destroyallsoftware.com/talks/wat
>>656263js != dom, заебали
>>656298до слез, аххах
>>656283>>656291О, пошла хуйня. Ну-ка, и как же вы развернёте обычную лесенку видаgetSomeShit(1).then((a) ->getAnotherShit(2).then((b) ->sendAllShitToServer(a, b, 3);))?Напомню что в нормальных языках это делается как-то так:a = await getSomeShit(1)b = await getAnotherShit(2)await sendAllShitToServer(a, b, 3)
>>656459Внимание на пикрилейтед. Снизу - цепочка промисов здорового человека. Сверху - лесенка дегенерата. Специально для тупых написал и заскринил.
>>656283>>656291Ну и замечу что вы как-то тактично промолчали про остальные приведённые косячки js, это показательно.В общем, не думаю что у кого-то возникают особые сомнения в том, что питон куда лучше жабаскрипта справится с ролью языка для фронтэнда. Каким бы образом ещё приблизить это царствие питонье на браузерах, блядь.
>>656537Спаси и сохрани святой асинк, блядь. Не, ну ты сейчас серьёзно? Ты считаешь что нижнее говно лучше верхнего говна?
>>656459>>656537Погодите, срач - это замечательно, но хочется спросить: можно ли эту лесенку написать через Promise.all() ?
>>656551В моём варианте из >>656459 - да, можно, я не сцепил getAnotherShit с результатом getSomeShit. В варианте >>656537 - уже нет, они там все друг на друга завязаны.
>>656459 >>656537Иногда в C# заебывает для каждого действия с await заводить отдельную переменную.Особенно если она нужна только следующему вызову.мимо-c#-девелопер
>>656562Понял.
Весьма показательно.Сначала было это:>>656291>копни глубже и окажется, что виноват кодер, а не языкНо дебилов, не читающих документацию это не остановило - они стали упираться. После того, как их тыкнули лицом в их обосрамс - они тут же съехали на другие темы. Мораль: прежде чем обвинять во всём язык потрудитесь открыть документацию. В 99% в вашем говнокоде виноваты вы сами, а не плохой язык.
>>656545Ты серьезно считаешь, что заводить десяток переменных ради одного вызова - это нормальная практика?
>>656582Ты хоть про что говоришь-то? Где здесь кто незнание документации показал?
>>656586То есть, значит, городить десяток функций ради этого - лучше?
Поясните ньюфагу за компиляцию. Хочу написать среднего размера оконное приложение, стоит выбор между python+pyqt и винформсами. Склоняюсь в сторону первого, но всегда использовал питон исключительно чтобы какую-нибудь хуйню быстренько посчитать/проверить в idle. Есть риски что по причинам моей жопорукости в итоге нихуя не скомпилится как надо? И вообще что посоветуете накатить для этой цели, гугл советует pypy, подойдет?
>>656592Дотнет по скорости разработки может быть, пожалуй, и побыстрее, ежели в студии мышкой элементы по фасту накидаешь и обработчики всякоразные напишешь.
>>656587Ты же перед использованием промисов читал стандарт по ним? Или хотя бы инструкцию? Как можно было читать и пропустить часть про построение цепочек?
>>656589Это стандартная цепочка на лямбдах. Что не так?
>>656618Нет, не читал. Я тебе больше скажу, "стандарты" ЯПов я вовсе никогда не читал. Ты же имеешь в виду спеки, верно? Мне как-то не приходилось заглядывать в предназначенные для разработчиков компиляторов/интерпретаторов вещи, потому как я таковым не являюсь. По этой причине я вполне довольствуюсь найденной документацией, как, например, здесь https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/PromiseПо ссылке никаких особых инструкций по сцеплению не находится. Кстати, полюбопытствовав, я всё же заглянул по приведённой там ссылке на те самые стандарты, вот сюда http://www.ecma-international.org/ecma-262/6.0/#sec-promise-objectsТы предполагаешь что перед использованием js я должен был прочитать всю эту портянку?
>>656619Мне десяток переменных импонирует больше чем десяток функций. Да, я знаю что под капотом async/await городят всё те же коллбэки, но ты же не будешь отрицать что код существенно упрощается для чтения когда вот эти мерзкие кишки асинхронности не размазаны по нему тонким слоем?
Съебите в жс-тред.
>>656632>Ты предполагаешь что перед использованием js я должен был прочитать всю эту портянку?Не знаю как ты, а я когда начинаю изучать любой новый язык, то сразу после получения базовых знаний лезу читать спеки, чтобы потом не городить хуйни и не винить во всём плохой язык.
djangoЕсть модель, в которой есть tags = models.CharField(max_length = 200)Выглядит как строка '#tag1 #tag2 #tag3'Как мне получить id модели, в tags которой есть #tag2 ? Подскажите пожалуста, не могу додуматься.
>>656084 (OP)Нубский вопрос. Вот, скажем, есть у меня игрушка, в игрушке есть персонажи, у каждого персонажа есть положение, скорость, здоровье, текущее оружие, состояние горит/не горит и так далее, и тому подобное. Мне было бы удобно описывать персонажа словарем (персонаж={положение:[10.0,50.5], скорость:[2,0], здоровье:70, оружие:'bazooka', горит:False и так далее}), но не будет ли обращение к такому словарю сильно медленнее, чем к списку?
Где взять питон кукбук? Гуглю и нахожу одну хуйню
>>656851timeit в помощь. Пайтоновские списки не такие уж и быстрые, алсо.
>>656889Спасибо.
Работаю манаджером по продажам и консультантом по бизнес-хуете изредка. Имею свой бизнес и иногда кручусь и чего-то даже зарабатываю.Три месяца назад сел учить питон. Особо необходимости не было, просто ностальгировал как десять лет назад меня с прикмата универа выгнали, ну и обстановка признаться сами знаете какая, может через пяток лет кодингом хоть на хлеб заработаю, если остальные варианты совсем сдуются. Но тем не менее учить начал не ради вката в айти и прочей хуйни, а от скуки и интереса.Вот и учу с тех пор. Каждый день что-то читаю, кодю, перекодил всё подряд что в голову пришло, сейчас играюсь семантическим анализом и всякими приблудами к нему, не сказать что всё понимаю - но мне нравится. А реальные вещи, типа сайта на джанге для бизнеса - такое делать не нравится, мне оно скучно и там ещё надо же хтмл-жс использовать, жуть!!!Вот и вопрос собственно в чём мой: веб это и для вас сплошная предсказуемая банальщина? или это я проецирую ненароком, или наоборот слишком праздно подхожу? Ну и куда бы двигаться порекомендовали дальше с питоном, не обязательно в коммерческие сферы, хоть примерно какой вектор у меня возможен? Анализ данных + машинное обучение по моей косналтинговой специальности как бы в планах имеется, но как его реализовывать нету даже примерного представления, да и не опаздываю
>>656284Пишешь на жаваскрипте.
>>656879google: it ebooks.
>>657123После первой строчки ожидал увидеть спам на флешлайты и фингербоксы. Менеджер.
>>657148Спасибо большое!
>>656645Async/await еше и лечит порядок всплытия эксепшенов по стеку, который с цепочной лямбд превращается в лютый пиздец
cx_freezeФлажок copyDependentFiles=True должен копировать всякую мишуру, типа использованных в скрипте текстовых и медиафайлов и тд?Или единственный способ - это впихивать их в итоговую папку ручками или перечислять в build поименно каждый?
>>657234Ты ещё один раз обосрался. Добавляешь в конце .catch(err => обработка ошибки); и всё.
>>657240Нахуй нужны велосипедные catch, если в ЯП _уже_ есть конструкции для контроля исключений?
>>657240А вообще, обоссал агрессивного хуйлана, На работе поясняй, кто где обосрался. Блядь, и эти люди зовут себя инженерами
>>657123>куда бы двигаться порекомендовалиmachine learning, data science, reverse engineering.Интересней ничего не завезли.
>>656133Вот этому вот господину, два чая, пожалуйста.
>>656819Боже, ну кто так делает теги. Создай уже отдельную модель для тегов и юзай m2m relationshps.
>>656819Удваиваю >>657267Ну или юзай Post.objects.filter(tags__icontains='#tag2 '), обрати внимание на пробел в конце - он нужен чтобы тебе не выбрались ещё и посты с тегами, только начинающимися с #tag2 (например, #tag2хуйняёбаная).
>>657275Или используй постгресс, а теги храни в JSONB поле в виде массива. Проиндексируй через GIN, вхождения тегов ищи соответствующими операторами.
>>657235pyinstaller
>>651031Конечно, все сделал как в видосе до makemigrations, только он не работает.
>>656084 (OP)20летний экономист хочет делать модельки процессов, анализировать статочку и че-нить еще по надобности мудрить в питоне.Стоит ли начинать с питона? (совсем на айтишник)
Стоит. Можешь еще на язык R посмотреть, может он тебе больше подойдет.(Совсем не экономист)
>>657380Зачем R если в питоне все есть все? Не нужен.
>>656084 (OP)Почему submit сохроняет страницу вместо того что бы отсылать в скрипт post ом
Аноны, подскажите с записью значений в таблицу SQLite. Записываю 13 значений. Одно передаю одной переменной, а 12 других хочу передать в виде списка: cur.execute('INSERT INTO ' + model_table + ''' ( date_id, val1, val2, val3, val4, val5, val6, val7, val8, val9, val10, val11, val12 ) VALUES ( ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? )''', ( date_id, prices ) )prices - как раз этот список, правильного размера. Но при запуске скрипта получаю ошибку:"sqlite3.ProgrammingError: Incorrect number of bindings supplied. The current statement uses 13, and there are 2 supplied."Как правильно это сделать?
>>657455Подозреваю, что тебе нужно распаковать список посредством звездочки предворяющей этот самый список.
>>657396Потому что настрой сервер нормально, тормоз.>>657455Не знаю, как в питоне, но в Ruby тебе нужно было бы звёздочку перед prices поставить.
>>656037Единственный 100% рабочий способ - это сделать asm.js полную сборку с питоном. Весит правда дохуя, работает не так быстро, но совместимость 100%. Конечно же для рядовых сайтов это не подходит.
>>656133 → >>657523
Анон, помоги с haystack + solr, вроде бы все работает, но ищет только а) полные совпадения б) только по заголовкам (ну то есть полю тайтл, моей модели объявления).
>>657540Впрочем я его уже снес и буду заново пердолиться с эластиксёрчем.
>>657465>>657475Возможно это так и есть. Но так и не получается разобраться. Запись в SQLite вызываю через функцию, в нее и передаю список prices. Если распаковать, поставить перед prices звездочку, в вывозе функции - она не вызовется, потому что в ней определено другое количество аргументов. Если распаковать prices прямо в sql-запросе, то там вообще syntax error.
Анан, я начал постепенно обмазываться пистоном. Вроде всё просто и понятно. Но у меня возник вопрос. Собсна пикрилейтед. Как, блять, это происходит? Почему с точки зрения математики эквивалентные выражения дают разные результаты? И вообще интересен механизм работы питона с большими числами. Реально БОЛЬШИМИ. Из серии расчета факториала числа? Каким образом питон крутит на хую ограничение типов классических языков. Такой карнавал твориться только при работе с дробными числами? На сколько приведенные результаты малы?inb4: иди уроки делай
>>657697https://docs.python.org/2/tutorial/floatingpoint.htmlhttps://habrahabr.ru/post/112953/https://ru.wikipedia.org/wiki/Длинная_арифметика
>>657710>2
Поможет кто-нибудь с поиском, пожалуйста? Не могу врубиться как сделать поиск по частям слов. В документацию вникаю с трудом.
>>657733s = 'string''stri' in s>> TrueЧто тебе там еще то надо?
>>657736Я про хейстак и эластиксерч.
>>657710>>657730Да. Вроде понятно. Спасибо, схоронил.
>>657523pypyjs.org есть. Ладно, скажем похуй что там либа грузится дохуя - 2.5 МБ в сжатом виде не так уж много по современным меркам, учитывая кеш. Даже на отсутствие третьего питона можно чуток подзабить, там вроде автор пишет на гитхабе что всё не так уж плохо и запилить можно.Но он пиздец какой медленный -_-
>>657386R каноничен. А со скайпаем ещё повозится придётся(там отдельный интерпретатор или надстройка или оболочка- я хз, ipython. Там данные немного по другому устроены нежели в классическом Питоне (pandas вроде как R и копирует)
>>657890А то с R повозиться не придется. Тем более под винду. Зато у питона еще применений миллион, и дергать-парсить дату им удобней. А R это так, полуживой язык одного фреймворка для одного применения.>pandas вроде как R и копируетКак что-то плохое.
Помогите анончики.
>>657950Мы бы помогли, но ты бы хоть один лотерейный билет купил!
>>657267Благодарю за ответ. Вроде бы сделал как надо.Подскажите пожалуйста как теперь вывести теги к статье на главной странице. Если бы была одна статья то я бы сделал article.tags.all(), но я передаю много статей сразу. Если в шаблоне просто вывести теги, как у меня раньше было, то в html появляется "qa.Tag.None " Или же я неправильно построил м2м связь?
>>657969article.tags.all в джиндже заработало. Расходимся.
Посоны, необходимо сделать что-то типа шедулера/эвент-лупа, который будет периодически выполнять какие-то действие. Действия, как и периоды, задаются пользвателем. Но нет возможности использовать какие-либо библиотеки, в распоряжении есть только системные часики.Как бы это всё правильно организовать? Что почитать? Кроме сорцов каких-нибудь пиглетов.
>>658266Cron.
>>658269Что cron? я не могу использовать никакие библиотеки, мне в скрипте нужно накостылять простенькую версию. И вообще не на питоне даже.
>>658278Впрочем, загялнул в пиглет, и оказалось то, что и ожидал:на каждом тике проверятется if: current_time() > item.time: item.func(); item.time += item.interval.Никакой магии, однако...
>>658290держи ещё time sleep(..)
Вопрос тупой как двэри:md5hash = os.popen('md5sum ' + filename).read().split(' ')[0]эта магия запускает в sh>On Ubuntu, /bin/sh is dash, a shell designed for fast startup and execution with only standard features. А у меня как раз убунтуКак мне в баше-то тогда запустить?
>>656084 (OP)Ребзя, пожелайте удачи. Нашел наконец-то удаленку на джангу. Сегодня первый рабочий день на новой работе. Хоть уже и не в первый раз, но все равно ссыкотно.
>>658308Удачи броБудет нужен джунодебил - дай знать!
>>658301Ты не мог перефразировать вопрос? Непонятно чего именно ты хочешь.Если запускать в bash, тоmd5sum file
>>658321Я случайно забыл что гугл есть.Нашёл уже: http://stackoverflow.com/questions/33502652/how-can-os-popen-be-set-to-use-bashВ двух словах культурная особенность убунты, что ос.попен - это запуск сш, а не башаЗапускать баш можно через субпроцесс:md5hash = subprocess.check_output(('md5sum ' + filename), shell=True, executable='/bin/bash')
>>658324>запускать из-под питона команду в баше, а не сшеselffix
>>658324Там написано, что os.open перекочевала в subprocess.И какая тебе разница в чем запускать? И почему не использовать hashlib какой-нибудь?
>>658339Никакой вовсе, но sh в скрипт где-то хуйню находит:>sh: 1: Syntax error: "(" unexpectedа в bash - нет и нормально работает
>>658339>hashlibкстати спасибо, наверное с ней и сделаю
>>658318Мне нужен друг-дебил, чтобы вместе джанго-дебилить.
>>658346Тульпа - твой лучший друг.
>>658368Не хочу тульпу, надоело.
>>658346Бида в том что я не особо в джанго вообще врубаюсь, и не особо вникал. Всё ещё считаю что моего левела недостаточно.Потому пока я больше по просто говноскриптам, всякие парсеры-хуярсеры-сам себе эксель-спамер реплаями на годные вакансии на хедхантер-и т д
>>658410Да и я не врубаюсь ни в питон ни в джанго, полгода уже превозмогаю с переменным успехом.
Так, товарищи джангодебилы, подскажите мне, почему у меня из шелла метод модельки вызывается и отрабатывает корректно, а из шаблона посылает нахуй?Разумеется, аргументов метод не требует, из шаблона вызывается не через .method(), а как __method, бочка сделана, хуйцы пососаны.
>>658589Я даже не знаю что такое метод модельки, аргументы, блядь, какие-то.мимо джангодебил
>>658595Ну ты какой-то совсем дебил :\
>>658596Все недебилы работают, тут только поехавшие бездельники сидят.
Разговоры джангогоспод жпг
>>658599Ну так может, тут есть бездельники поумнее меня, а то я совсем голову сломал уже
>>658601Код и посылание нахуй покажешь или так и будем шуточки шутить?
>>658602Шуточки шутить все же веселее, чем вдруг обнаружить у него в шаблоне где-то незакрытый {% for %}
Раз уж нас тут собралось трое, а то и больше, воспользуюсь случаем и спрошу: МОЖЕТ МНЕ КТО-НИБУДЬ ПОМОЧЬ С ПОИСКОМ ПО ЧАСТЯМ СЛОВА ПРИ ИСПОЛЬЗОВАНИИ DJANGO-HAYSTACK И ELASTICSEARCH Поиск работает, но только по полным совпадениям, то есть, например, ЗАЛУПА, он найдет во всех полях где есть ЗАЛУПА, а ЗАЛУП уже не найдет. С автозаполнением тоже разобраться не могу, доки весь день читал, нихуя не вычитал.
>>658608Года 2 назад все настраивал по тьюториалу. Сейчас лень смотреть как там че.
>>658602Посылает, не выполняя метод вообще. И не выводя ничего. Код метода:`def retqausers(self): ql = self.qauser_set.all().values('user_name') rl=[] for i in ql: rl.append(i['user_name']) return rl`>>658606нет, незакрытых тегов нет.
Иногда мне кажется, что джанго — болезнь пифонане-использовал-джанго-никогда
>>658616Делал все по докам, куда-то проебал половину функционала.>>658621Ты что, шизический? Никто даже разбираться не будет в этих каракулях. Запости в пастохранилище с подсветкой кода и не забудь показать что тебе в окне БРОУЗОРА написали.
>>658628Там кода с гулькин хуй, ну ладно http://pastebin.com/W5LUBAkgВ браузере, повторяю, ничего от слова совсем.
>>658621return [x.user_name for x in self.qauser_set.all()]
>>658635Да неважно. Факт в том, что не работает из шаблона.
>>658637Так шаблон, блядь покажи.
>>658637я у себя через точку делал, без скобок все работает
>>658638Ты странный. Я просто вызваю метод.Т.е. %объектнейм%__retqausers>>658639Методы же не через точку вызываются, емнип.Сука, заработало. Ну блядская дока, еб ее мать.
>>658626В чем-то ты прав. Магия с вечно протекающими абстракциями. Нужно понимать, что и как под капотом, тогда он охуенен.
>>658644Емнип, через два двоеточия методы для лукапа использутся в фильтрах, например.
>>658646>понимать, что и как под капотомВот это вообще для меня недостижимая штука.
>>658648>два двоеточияну ты понел, подчеркивания
>>657890Разобрался с пайтоном: scipy и pandas освоить труда не составит. ipython дико удобен, работать с ним одно удовольствие, начиная с запуска файлов прямо в оболочке до его магических функций. По данным хз, но массивы из numpy гораздо быстрей стандартных списков тех же питона.
Программировал на nodejs довольно долгое время и привык к шаблонизатору jade. Отказываться от столь годного инструмента тяжко. Но в связи с обстоятельствами необходимо было перейти на питон, выбрал фрейм фласк.
>>658902Да вот шаблонизатор jinja2 совсем не котируется. Собственно можно ли писать писать шаблону под питон на jade?
>>658906> jinja2 совсем не котируется/0
>>658917Может и не понимаю чего. Питон учу не так много, от чего же такая реакция?
>>658902Кстати удваиваю. Синтаксис Jade - это же питон в чистом виде. Почему он используется в ноде с совершенно иным синтаксисом, а в питоне опять же шаблонизатор с непитоновским синтаксисом?
>>658902трудно погуглить jade python?
>>658929Потому что автор платформы node, тот же что jade. Интересует как довести все до автоматизма, с интеграцией jinja труда не составило, только с написанием
>>658932Прогуглил. Нашел несколько решений, но хотелось узнать мнение тех, кто так работал или предложение о более лучшей альтернативе
Привет, анон. Второй день пытаюсь учить Питон по книге и уже столкнулся с проблемой. Не гоните ссаными тряпками в гугл, там я уже искал, но в силу узколобости не смог найти ответ. Почему скрипт из командной строки запускается, а из питона выдает ошибку SyntaxError: invalid syntax и указывает на двоеточие в пути к файлу? Что с ним не так? Почему выдает такую же ошибку при вводе % python script.py? При этом указывая на знак процента? Пожалуйста помогите разобраться.
>>659250Прошу прощения за сажу.
>>659251> Прошу прощенияТы поехавший? %пшёл нахуй отсюда%
>>659265>%мам, смотри, я олдфаг%Пиздуй отсюда, чухан.
>>659269ПРОЩУ ПРОЩЕНИЯ
>>659250Откуда ты этот процент вообще взял? http://stackoverflow.com/questions/1027714/how-to-execute-a-file-within-the-python-interpreterНо это явно не то, что тебе нужно. Точнее, ты делаешь совсем не то, что тебе нужно. Или тебе нужно не то, что ты делаешь.Вот три нормальных способа.Файл должен быть либо в той же директории, либо в PYTHONPATH:1. import module2. from module import *Из соснольки:3. python3 -i file.py
>>659273Ну извини, не хотел тебя обидеть.
>>659274>3. python3 -i file.pyЭто выполнит файл и оставить тебя в интерактивном интерпретаторе, со всеми переменными.
>>658608Поставил Solr, все работает как надо.
>>656084 (OP)Нужно задеплоить апликуху на django на удаленный сервер. Возникла проблема при настройке связки nginx uwsgi. Суть в том что uwsgi при любом раскладе не хочет использовать виртуальное окружение. Пример настроек[uwsgi]plugins = python3home = /home/user/www/app/.envvirtualenv = /home/user/www/app/.envchdir = /home/user/www/app/apppythonpath = ..env = DJANGO_SETTINGS_MODULE=app.settingsmodule = wsgi:applicationТ.е. должен использовать окружение с 3м питоном, а использует 2й. Файл настроек правильный. Открыв его в виме могу перейти в директорию просто gf, т.е. она тоже указана правильно. Но в чем проблема не могу понять.
>>659265тест
>>659350Ах ты ж ебаный ты нахуй, ТЕСТ БЛЯДЬ
>>656084 (OP)Анон. Я немного упоролся и прошу совета. Как ТОЧНО посчитать кол во ТОЛЬКО месяцев, ТОЛЬКО лет до определённой даты. С учётом високосных годов и различия месяцев по кол-ву дней. Не смог найти ничего подобного в datetime, хотя не исключаю возможности, что долблюсь в глаза. В общем, реквестирую помощь.
>>659388>Не смог найти ничего подобного в datetimeНайдй подобное в timedelta
>>659391Оно вывыодит результат только в миллисекундах, секундах и днях. Как мне выводить разницу в месяцах и годах?
>>659394тогда как-то так:>>> a = datetime.date(2011,3,22)>>> b = datetime.date(2016,2,19)>>> months = (b.year - a.year) * 12 + b.month - a.month>>> months59
>>659399Спасибо
>>659399Правда, нихуя не правильно.
>>659409С днями сам подкрути как тебе правильно
>>659410Между этими датами будет 58, а не 59 месяцев.
>>659410Ну охуеть. Обратился, чтобы не писать костыль - предложили написать костыль. 10 из 10, господи.
>>659413Ну хорошо, не пиши велосипед, вместо функции на 3 строчки возьми либу https://pypi.python.org/pypi/MonthDelta
>>659416Неужели в вашем охуенном питоне нет стандартной либы для расчёта подобной фигни?
>>659412Это почему это 58? Или тебе только полных месяцев нужно? Тогда можно>months -= int(b.day < a.day)добавить.
>>659419Патамушта он дурачек с некорректной постановкой задачи
>>659419А при подсчёте времени бывают какие то другие месяцы?
>>659419>months -= int(b.day < a.day)А потом он прибежит со сравнением 30, 31, 28, и 29 в разных месяцах и начнет швыряться говном. Я ему уже посоветовал допилить под свое видение задачи
Ты мне посоветовал написать костыль. Мне не нужны костыли. Мне нужна нормальная библиотека. Желательно, из стандартного набора.
>>659422Например, при определении числа отработынных месяцев по российскому ТК, действует правило округления. У тебя нихрена не написано, что именно ты задумал получить. Какой вопрос - такой ответ.
>>659444Мне нужно досчитать от текущего числа до конкретной даты в будущем. Считать я хочу как в обычном формате: "Осталось 20 лет 10 месяцев 24 дня", так и по отдельности:"Осталось 250 месяцев" etc. Так чуть понятнее? И в догонку вопрос. Есть ли в стандартной библиотеки что-то, что может выдать русские названия едениц измерения времени в соответствии с их кол-вом. Например 4 года, но 10 лет.
>>659446>Например 4 года, но 10 лет.http://man7.org/linux/man-pages/man3/ngettext.3.htmlНе знаю, есть ли какие-то готовые решения, я всегда делал через ngettxext и .po файлики
>>659455Спасибо. Попробуй что то с этим наклепать. Пока что подобное действо возложено на костыль, но выглядит он весьма мерзко.
>>659457If a in (a1, a2....):....
>>659274На счет процента не могу сказать, я просто делаю как написано в книге, а именно:> Сохранив этот текстовый файл, вы сможете предложить интерпретатору Python выполнить его, указав полное имя файла в качестве первого аргумента команды python, введя следующую строку в системной командной строке:% python script1.pyВот значение переменной PATH: C:\Python31;C:\Python31\Scripts;C:\Python31\lib\site-packages\django\binФайл находится в папке питона, и делая по третьему пункту опять выдает SyntaxError: invalid syntax. Я пробовал писать python31 и python3, и все равно безрезультатно. Почему это происходит?
>>659481Процент подразумевает запуск из командной строки. Его вводить не надо.
>>659490Я его не вводил. Просто ввел python script1.py и все, хотя из командной строки все получается, но если вводить полный путь к файлу.
>>659481>pythonЧо ты делаешь нахуй? Это ж виндоус, нужно python.exe писать.
>>659641Где писать? В командной строке или где? Я же не шарю.
>>659643В тред пиши
>>659641пишу на вин10 в cmd pythonвсе работает брат жив
>>659736Такая же хуйня.
Питонач, хочу в Дженге сделать проверку емейла на валидность. И тут (https://github.com/django/django/blob/master/django/contrib/auth/tokens.py), что получается, .check_token() (1) проверяет когда был сделан токен, (2) и отсюда следует что он шифрует дату в токене, и (3) отсюда следует, что не нужно делать таблицу с полями токен, дата и юзер, писать проверку и сборщик мусора? И ваще ненужно делать таблицы для реализации вот этого так как всё будет зашифровано в токене?
>>658626Да, в джанге масса недостатков. Зато охуенная админка.
Анон, как насчет Flask? Начал копаться в нем, но обнаружил что последняя версия 2013 года. Он вообще развивается?
>>659940Нет, фласк - хуй.
>659779 Помогите ньюфажине, пидоры.
>>659995помог.
Сап, питоняшки. Помогите нубасу, кому не лень. Как создать сразу несколько переменных с одним значением? То есть, допустим, мне нужно создать переменные а1, а2, а3 и а4, и чтобы все они содержали строку, со словом "хуй".
>>660108a1=a2=a3=a4='хуй'
>>660108ne blagodaria1, a2, a3, a4 = [z for z in ['xyz']*4]
>>660125Спасибо.>>660152horosho, ne budu
>>660152yoba, zachem lishniy cikl?a1, a2, a3, a4 = ['xyz']*4a1, a2, a3, a4 = itertools.repeat('xyz')no kruche koneshno kak tut >>660125
>>660189tak zagadochney
>>659500Почитай про current dir и по какой схеме шындошс и питон ищут файлы.
>>659779В теории, должно работать. Надо будет попробовать завтра.
>>660108Создание n переменных https://ideone.com/aLfcAM
>>660475globals().updateне делай так
>>660478Чем чревато?
>>660480Во-первых глобальных перменных надо избегать вообще http://stackoverflow.com/questions/19158339/why-are-global-variables-evilА locals() - read-only и вообще с ним какие-то проблемы, его не рекомендуют использовать для записи.
>>660492А, я думал что-то новенькое узнаю. Это же джаст фо лулз пример. Хотя, знаю один случай, где globals() упростили работу с пачкой конфигов в виде .py файлов, которые должны были импортироваться друг в дружку и в проект определенным образом. В каждом таком файле кроме "глобальных" констант больше ничего и не было.
>>660497И зачем для этого globals()?
>>660501import some_lib внутри функции не делает определенные в some_lib константы доступными вне этой функции, а они там нужны.
>>660512Почему просто не сделать from somelib import *Не внутри функции, а на уровне модуля?
>>660516Потому, что есть еще 2nd_some_lib, 3rd_some_lib и т.д. с одноименными константами, но с разными значениями. И в функции определяется, какой из модулей надо импортировать.
>>660519
>>660528Решение не самое изящное, не спорю, но работает и занимает две строчки, по одной на импортируемый и на целевой модуль.
>>660528Алсо, если ты предложишь лучшее решение этой задачи, я буду только рад.
>>660550Если ты сформулируешь задачу, я буду только рад.
Ощущаю небольшой творческий кризис.Расскажите что самое интересное и волнующее с вами происходило при работе с питоном? Может закодили какую-нибудь крутую хуйню и она вас впёрла что вы пританцовывали до конца дня, или после нубовелосипедов со словарями вы открыли для себя дефолтдикт, например?
>>660560У тебя есть три конфига с одинаковым набором констант, но с разными значениями. И есть некий обширный скрипт, который эти константы использует. Как мне указать с каким конфигом скрипту работать, не модифицируя каждый раз скрипт?
>>660571def get_setting('file1')например
>>660568Дофига всего. И defaultdict-like открытия и что-то крутое типа asyncio, micropython, написание своей либы и пост на pypi, travis, coverage. Боты для онлайн игр (когда добиваешься их правильной работы) и много-много другого.
>>660571Передавать имя конфига как аргумент скрипту. Использовать json для хранения конфигов, например.
>>660589> json для хранения конфиговНахуя? Есть ini файлы. Есть yaml. Да блин на самом питоне конфиги наиболее гибкие.
>>660584Это built-in функция? Что у ней внутре?>>660589Забыл упомянуть, что этот скрипт сам в виде аргумента передается в куда надо.
>>660595Написал же "например". Конфиги на питоне это говно. Конфиги должны быть только данными, вся гибкость должна быть в приложении.
>>660608Куда надо это куда? Попахивает говно-архитектурой. Можешь конечно передавать два аргумента: "этот скрипт" и "вон тот конфиг".
Есть JSON файл. Как можно изменить значение одного или нескольких параметров в нём, избежав открытия-записи-сохранения? Может есть какая нибудь команда вроде сделать значение свойства test равным 12?
>>660589>Передавать имя конфига как аргумент скриптуМалаца, один из немногих правильных джангистов. Не надо городить хуйню в settings.py со всякими globals и трахом с черезжопными импортами, надо сделать другой x_settings.py в который импортируется базовый.>>660608>скрипт сам в виде аргумента передаетсяИспользовать envvars например.
>>660654Niqaque.
>>660616>Конфиги на питоне это говноНе всегда. По части поддержки питонных структур более-менее близок наверное только yaml. Ну и дополнительные синтаксисы/особенности держать в голове не надо, просто нужно стараться придерживаться правила: никакого кода в конфиге, только данные. Хотя я не фанат драконовских ограничений, всё же допускаю простые скрипты в конфигах если например нужно автоматически выставить дохуя каких-то значений, но по правде говоря мне таких случаев ещё не встречалось.
>>660492Есть ещё vars(), я много раз использовал, в том числе и на запись. Например это единственный способ динамически создать свойства класса до отработки наследованных метаклассов, в джанге например.
>>659475Разве можно итерировать по строкам?
>>660730О каких структурах речь? В json-е есть список, словарь, число и строка. Чего ещё не хватает?
>>660748А почему нет? https://repl.it/Bo8L
>>660415Уже написал, это работает. Но хуй знает как.
Анон, где можно почитать чужой хороший код на питоне?
>>661019На гитхабе, епт.
>>661019В стандартной библиотеке. Шутка, там говнокода полно.
>>661034Я им вообще не умею пользоваться, я даже херово представляю что такое этот ваш гит. Только начал учиться кодить. Просто зарегистрироваться и искать по тегу "python"?
>>661053Регистрироваться не обязательно
>>661053Не забывай ставить классы и подписываться.
>>661053http://pypi-ranking.info/alltime вбиваешь названия популярных пакетов в гугол, одна из первых ссылок будет на гитхаб. Идешь туда и лазишь по кладке code.
>>661053Ищи по той штуке которую пишешь.Но нахуя тебе читать чужой говнокод? Если ты что-то пишешь и у тебя не получается, гугли вопрос словами, с начало на русском и если нет ответа, то на энглише. Из гугла попадешь на блоги/ сервисы ответов, там или будет пример решения твоей проблемы, или ссылка на документацию. Открываешь три-четыре вкладки с примерными решениями, немного воображения, чуть творчества и хопа у тебя работающий говнокод. Когда он есть и у тебя есть время, и тебе за это время платят, ты задаешься вопросом, а можно ли сделать твое говно лучше. И проходишь заново все пункт, но с целью уже улучшения твоего кода. И так годами.
>>661075> с начало на русском> с началоВот из-за этого и я гуглю сразу на английском.мимо
>>661080Из-за ошибок прочитавший себе палец не отрежет. Я смысл передал, ты смысл понял. Остальное выебоны снобистов.
>>661088Очевидно, что ты смысла не понял. Я говорил о тупых школьниках. Зачем мне советы тупых школьников, которые даже не в состоянии понять <...>. Такая вот рекурсия.
>>661115Хули ты такой выебистый то, а? Ты считаешь, что в России, отвечают на форумах и сервисах, не образованное быдло? Ошибаешься.
>>661121> Ты считаешь, что в России, отвечают на форумах и сервисах, не образованное быдло?Да так и есть ващет.
>>661144Но ты ведь тоже отвечаешь на форуме.
>>661121В голос с безграмотного быдлана.
>>661149Не вижу противоречия.
>>661150Высокомерный уебок :-)
Нужны ли модули нюфане, который совсем недавно познакомился с циклами?
>>661187Если бы ты учил историю античных времен, но возник вопрос по первой мировой - оно бы тебе помешало?
>>661200Если бы ты сосал хуй, но пришлось облизать яйца - оно бы тебе помешало?
>>661204Ну да, яйца то волосатые
>>661205А я брею.
>>661205Нет, не волосатые
>>661207школьник детектед
>>661208Починил детектор наконец? Молодец
>>661209Скрываю тебя.
>>661210Хорошо
Ну и зачем, спрашивается, вот эта ебала с рабочей субботой? Все пришли и пинали хуи целый день. Включая не успевшее протрезветь начальство. Сделали бы уж нормальный праздник, а то переносят-переносят, геморрой один. И режим мой весь поехал. Ненависть.
Я бы вообще все праздники упразднил, прибавив соответствующее количество дней к отпускам. Нет ни единого сраного повода всей страной впадать в анабиоз хоть через новый год, хоть через такую хрень как 1-2 мая
Анчоусы, использую django-filter чтобы фильтровать и сортировать запросы, но выходит какая та ебола когда пытаюсь сортировать, например посты по последнему комментарию, так как посты комментарии относятся к посту по m2m связи, грубо говоря я получаю список комментариев. Дальше я использую order_by('comment__date') и пытаюсь использовать distinct('id') чтобы у меня остались только уникальные посты, но джанго жалуется на то что нарушен порядок запроса. Можно как то оставить только уникальные посты?
Какие преимущества у PyCharm перед редакторами типа Atom/Brackets/саблайм?
Как вы учили Python?
>>661321Тем что оно иде, а не редактор для началаНу а проще если:10/10 АвтокомплитДругие плюшки можешь посмотреть вот тут http://blog.jetbrains.com/pycharm/2016/01/introducing-getting-started-with-pycharm-video-tutorials/?utmsource=feedburner&utmmedium=feed&utm_campaign=Feed
>>661323Кодекадеми - Укус питона - Синк Пайтон
Нормально будет теребить змеюку для геймдева?
Ананас, какой svn используешь, может быть у тебя bitbucket или еще какое-то говно?
>>661369Для геймдева рекомендую сразу поискать более распространённый в сфере язык программирования
>>656256Очевидно нужен пистонобраузер с поддержкой питоноскриптов из коробки.
>>661441http://pypyjs.org/http://www.brython.info/index.html
>>661369Нет. Сможешь только мелкую пиксель-арт индюшню писать. Есть только два нормальных, полноценных движка для игр любых жанров.Unreal Engine 4 - C++Unity - C#/JS
>>661449Даже арт-индюшня будет с душком - рогалики вон и те на плюсах восновном пишут. Под питон есть библиотека, конечно, но она это просто прослойка к плюсовой.
>>661449Питон можно использовать как скриптовой язык на котором вся игровая логика, кроме движка самого. Правда вроде в геймдеве в ходу lua больше.Но вот например цивилизация 4 на питоне.Или для написание сервера если это онлайн игра.
>>661455Троллейбус из хлебаДа и интересовались на счёт змейки для вкатывания в гейм дев - это не звучит как ХА ХА ДАВАЙТЕ ПИСАТЬ СЕРВЕРА НА ПИТОНЕ
>>661461> Троллейбус из хлебаСкриптовый язык нужен, не будешь же всю игровую логику на плюсах фигачить.
>>661464Чем обсуждать сферического коня в вакууме лучше ответь на >>661369 более полно, качественно и тд чем уже ответившие господа. И посмотрим насколько будет принципиальным отличие.
>>661464>не будешь же всю игровую логику на плюсах фигачитьВ UE именно так, поэтому он и непопулярен, хотя там можно слепить самый реалистичный графон. А скриптовые языки лучше использовать только встроенные, без анальных компиляторов.
>>661512> именно такЧто мешает прикрутить сбоку какой-нить встраевыемый скриптовый язык?
>>661512>UE>непопулярен/0
>>661553Мы сейчас говорим не о студиях, а о диванных разработчиках, которые хотят что то слепить на коленке.
>>661452Это ты про какую?
>>661566Очевидный FIFE.
>>661570Впервые слышу вообще. Есть ещё вот такая, http://rlgclub.ru/forum/viewforum.php?f=26&sid=88d49c78fa82a3ca67fde83477a83071 но она тоже к питону врапперами прикручена, да.
>>661261Я бы вообще все праздники упразднил, и выходные, и отпуска. И рабочий день сделал бы часов 14. А зарплату выдавал бы карточками, которые ты бы мог тратить только в лавке при мануфактуре, к которой прикреплён.ВОТ ТОГДА ЗАЖИВЁМ!
>>661369Ой ну смотри короче. Значит есть скорость, это всякое байтоёбство, компиляции и использования хардвари. А есть просто чистое программирование, где нужно как можно быстрее описать задачу, составить рабочий алгоритм минимальными усилиями.И вот к чему это я. Ах да, геймдев. Геймдев бывает сука разный. Начиная от пасьянса косынка заканчивая крузисами на вулкан апи. Есть ещё дохуя разных платформ, на них чаще всего доминируют какие-то технологии, где нет жопаели и швабоды, а только один фреймворк и один язык.В большинстве случаев геймдеверам западло копротивляться системе и они просто учат подходящий язык и этот единственный фреймворк. Поэтому количество инструментов часто скудное. Вообще на инструментах для геймдева делаются бешеные бабки, и движки это далеко не самая денежная тема, 3д редакторы очень дорогие, специализированный софт, мокапы, скульптинг, риггинг, вся хуйня. Услуги по созданию контента дохуя дорогие.Снова отвлёкся. Вернёмся к нашим удавам. Можно в принципе всё. Никто за руки не держит, запретить не сможет. Берёшь как Линус и хуяришь софт. Вот только чтобы стать Линусом нужно захуярить нечто полезное и вовремя. А учитывая как геймдев комьюнити не хочет вкладывать в переизобретение колёс десятилетия времени, то Линусом тут можно стать только работая в какой-нибудь нвидии. Все шойдеры ты где-нибудь спиздишь, все архитектурки ты где-нибудь прочитаешь и подсмотришь у Кармака.Блядь, снова отвлёкся. Ну короче питон. Питон сука удобный, но сука медленный. Написать пасьянс - самое то. Написать по-быстрому тулзу, которая что-то сделает с контентом - заебись. Да хоть сделать его скриптовым языком движка - окей, embedding guide тебе в помощь. Некоторые умудряются на питоне писать трёхмерные игры, и они работают и даже не тормозят, потому что вся игра это сплошной рендер на гпу и почти никакой работы/внешняя сишная работа на цпу. Я бы ещё посоветовал на питоне делать прототипы, когда абслютно похуй производительность, главное увидеть/попробовать результат. Если понадобится можно перекатать в сишечку (ну или что там у вас, не суть).Ещё тут кто-то спрашивал насчёт jython, я вот недавно попробовал, работает. Можно использовать экосистему жабы не прилагая особых усилий. В принципе через cffi можно использовать и сишную экосистему, правда приложив незначительные усилия в декларировании интерфейса.Короче. Конечно рейтрейсинги и софтварные рендеры на питоне писать дурно, ибо можно состариться пока оно выдаст первый кадр. А вот писать на питоне некритичные к скорости 80% кода вполне можно. Сейчас много игр на жабе/дуднетах делают особо не запариваясь с потреблением памяти и сборками мусора. Берёшь сразу какие-нибудь pypy/cython/cffi и понеслась.
>>661596То есть на питоне можно пилить только маленькие игры, не напрягающие комп? Мне переползти отсюда в тред жавы или C#?
Что нужно выучить недоразвитому школьнику, чтобы запилить чатек?
>>661627как минимум сокетымимо-другой-школьник-пилящий-чатик
Какой минимум должен знать человек, если хочет вкатиться на джуна? Есть шансы попасть с меньшим или чуть-меньшим багажом знаний чем надо хотя бы за еду и опыт? Кайнд оф стажировка существует в каких конторах?
>>661632А что это такое?
Изучаю змея с ведра, я даун?
>>661624Погугли что хочешь написать, и на чём подобное пишут и туда и ползниИначе будешь в жопе без возможности тупо загуглить на стаковерфлоу ответ по каждой элементарной хуете
>>661639Типа "на каком языке пилят %прога_нейм%"?
>>661624У WoT движок на пайтоне.
>>661640"как написать прога_нейм на язык_нейм пример|туториал">>661641Только UI, емнип. И, кстати, wot один из самых показательных примеров хуевой производительности.
>>661641А танки разве не на юнити?
>>661640Ты программировать вообще умеешь? Что-нибудь когда-нибудь учил в данной сфере?Алгоритм следующий примерно: геймдев сайты - там смотришь туториалы всякие, проекты, гитхабы если есть, получаешь представление - пиздуешь уже целенаправленно учить технологию ххххх и по мере необходимости доучивать сопутствующееНи в одном гейм проекте питон не является так сказать ОСНОВНОЙ ТЕХНОЛОГИЕЙ
>>661643Спасибо, так и поищу.
>>661643Как пилить шарарам на питоне?
>>661647>программировать умеешь?Нет.
>>661646>А танки разве не на юнити?Не,там корейское говно Big World.
>>661661Если есть 1-2 года времени для полноценного вкатывания можешь начать с питона, потом плюсы/шарп-жаву-ватеэверЕсли хочешь быстрее - шуруй в Unity, только там дохуя всяких мануалов и готового кода можно деребанить
>>661634бамп вопроса
>>661666Как раз до девятого класса два года есть.
дайте одну годную книгу по сабжу на русском! По версии 2,7, с навигацией и содержанием. В справке заблудился, примеры из инета не работают
>>661730>2.7>на русскомПросто все ненужности в одном посте собрал.
>>661730Какую книгу?Полный справочник? - ЛутцДлинный самоучитель для совсем нубов - Доусон Для тех кто прежде кодил? - Укус питонаДля тех кто туда-сюда понял как работает всё, и гадает где применять - Синк Пайтон http://forum.ubuntu.ru/index.php?topic=218329.0Все эти книги и так под 2.7 с содержанием, обложкой и мать её политуркой
>>661750> Длинный самоучитель Не такой уж и длинный.
>>661750>Для тех кто туда-сюда понял как работает всё, и гадает где применятьОтлично, то что нужно, а то я прочитал Доусона и не очень знал что делать.Что лучше, think python или программируем на python Лутца?
>>661756Мне Синк доставил больше чем все прочие книги что я читал.
>>661750спасибо! После других языков возникают трудности в элементарных вещах: вывод в строку без переноса, объединение строк, счётчики, "самые необходимые" функции. Укус питона - похоже, то что надо!
Ну параша ваш пистон, самая настоящая параша. Ну вот как в нем вообще можно что-то сделать, я не понимаю. Разберем на простом примере:1) поставил http://peterwittek.github.io/somoclu/ sudo pip install somoclu В терминале все вроде нормально:Successfully installed somoclu matplotlib python-dateutil pytz cycler pyparsingCleaning up...2) Далее пример использования http://somoclu.readthedocs.org/en/stable/example.html Первые же строки:import numpy as npimport matplotlib.pyplot as pltimport somoclu%matplotlib inlineВводим их в пистоне:$ pythonPython 2.7.6 (default, Jun 22 2015, 17:58:13) [GCC 4.8.2] on linux2Type "help", "copyright", "credits" or "license" for more information.>>> import numpy as np>>> import matplotlib.pyplot as plt/usr/local/lib/python2.7/dist-packages/matplotlib/font_manager.py:273: UserWarning: Matplotlib is building the font cache using fc-list. This may take a moment. warnings.warn('Matplotlib is building the font cache using fc-list. This may take a moment.')>>> import somoclu>>> %matplotlib inline File "<stdin>", line 1 %matplotlib inline ^SyntaxError: invalid syntax3) вот и все, параша просто не работает, ничего не поделать.
>>661794> %matplotlib inlineДумаю это в ipython notebook надо вводить
>>661796Как его поставить?
>>661800sudo apt-get install ipython-notebook
>>661796https://try.jupyter.org/
Поясните ньюфагу за PyQT и потоки.Вот у меня на кнопку pushButton_2 законнекчена функция self.startDownload(), которая состоит из двух инструкций в следующем порядке:self.pushButton_2.setEnabled(False)self.mythread.start() Но по итогу pushButton_2 отрубается только после окончания потока, а не перед его началом. ЧЯДНТ?
>>661800хуярь сразу юпитер оно охуенное
Нигер требует JS? Или и так можно запердолить сайт на чистом удаве?
Вот чот пригорел маленько. Сам существую в Украшке, учу питончик, ничего такого вроде бы, да вот незадача - посмотрел таки на количество вакансий - на всю мухосрань десяток, да и те требуют, блять, опыта не менее 2-3 лет. Сука, да где ж мне их взять то? Зато на JS, блять, их тысячи. И забрасывать на половине пути ж не хочется, да и что делать тоже хуй знает.Еще раз сорян, ребятки, накипело.
Какие есть библиотеки для геймдева на питоне? Кроме PyGame есть что-то ещё?
>>661812Шалом тебе из вильного днр, где вакансий нет вообще кроме автоматчика, но не мешает мне учить питончик с перспективой хуячить вяло где-нибудь на удалёнке
>>661812А JS выучить к питону не судьба?>>661814Вакансия особиста/инквизитора есть? Яб приехал.
>>661812Езжай в Киев или Одессу или Харьков там. Или удаленно работай вообще.А так - что ты хотел. Это хорошо ещё что хоть js вакансии есть, обычно в мухосрянях только эникейщики нужны или какие-нить 1С/VBA кодеры.
>>661634И снова бамп.
>>661812А ты кодинг учишь не для того ли случайно что бы из мухосрани своей съебать? Вот и съёбывай
>>661804Более того, перенес pushButton_2.setEnabled(False) в начало mythread.start() и все равно кнопка отключается только после окончания остальных действий в потоке.
>>661634Джунам любят задавать не заковыристые вопросы по языку, их он может не знать, а всякое говно типа логических задачек, сложности алгоритмов(О-нотация и т.п.).Не хочу пиарить этих уебков, но можешь вот посмотреть https://www.youtube.com/watch?v=BZulLbzf0uA https://www.youtube.com/watch?v=M4WW8-9GwRA
>>661802>>661806Висит уже минут 10, ничего не происходит.
>>661823Незнаю, как в qt, в gtk можно дернуть gtk.main_iteration_do() чтобы перерисовать окно вручную.Но это хреновая практика, у тя как-то неправильно треды организованы, в одном треде должен быть интерфейс, в другом действия и запускаться они где-то отдельно в main(). Вообще в qt есть какие-то свои треды.
>>661831А что ты ожидал?
>>661837Вводил и остальные строки из примера http://somoclu.readthedocs.org/en/stable/example.html Ожидал, ну не знаю, наверное, то что показано в примере. Я многого хочу?
>>661831Устанавливай ipython / jupiter Устанавливай virtualenvЗапускай virtualenvУстанавливай этот Сомоклу через pip install -посмотри-как-там-оно-называется-официальноЗапускай ipython / jupiter, импортируй библиотеки ( что ты и сделал на своём скрине)Открывай свой туториал тот и делай что пишут. Потом жми контрол + энтер и смотри графики или что там оно хочет выводить.
>>661841>жми контрол + энтерОх, лол. Вот оно в чем дело, просто ендер не канает, надо с контролом. Пиздец. Однако, спасибо за информацию :3
Прочитал книжку, разобрался с синтаксисом питона на пре-базовом уровне. А что дальше? Как получать опыт программирования?
>>661865Программировать, очевидно.
>>661867А что, блин программировать то? Опыта для игры мне не хватает, всевозможные какуляторы и дайсроллеры я уже писал. Вот бывает же такое, фантазия исчезла.
>>661870Завтра ищешь в интернете книжку Dive into python. Похуй если ничего не поймешь. Затем идешь на python.org и изучаешь стандартную библиотеку от корки до корки. Потом зубришь, именно, сука, вызубриваешь конвенцию по написанию питоньего кода - PEP8, чтобы от зубов отскакивало. Когда напишешь свою первую имиджборду, по пути изучив верстку на html+css, скачиваешь и изучаешь любой питоний асинхронный вебсервер, рекомендую Tornado или Gevent. Как переделаешь имиджборду, чтобы выдавала по крайней мере 5 тысяч запросов в секунду, можешь идти дальше - тебя ждет увлекательный мир хайлоада. Apache Hadoop, сверхбыстрые асинхронные key-value хранилища, MapReduce. Отсос хиккующих выблядков / просто неудачников типа рейфага или сисярп/джава-хуесосов, которые сосут хуй по жизни не заставит себя ждать и уже через пол года ты будешь получать такие суммы, что любая баба будет течь при одном упоминании твоей зарплаты.
>>661874Где-то я уже это читал, только там была Scala. Ну можно попробовать написать борду, но... Блять, серьёзно, нахуя?
>>661876прост
>>661865Ты это я, по уровню знаний. Ну и стою перед той же самой проблемой - не знаю что писать.Не хочешь скооперироваться и вместе ставить задачи и запиливать что-нибудь? Вместе вроде как интересней.
>>661876у меня скала тормозит в иде
>>661897Потому что нужен свежий mbp
вчера какой-то анон залил эту пасту:Завтра ищешь в интернете книжку Dive into python. Похуй если ничего не поймешь. Затем идешь на python.org и изучаешь стандартную библиотеку от корки до корки. Потом зубришь, именно, сука, вызубриваешь конвенцию по написанию питоньего кода - PEP8, чтобы от зубов отскакивало. Когда напишешь свою первую имиджборду, по пути изучив верстку на html+css, скачиваешь и изучаешь любой питоний асинхронный вебсервер, рекомендую Tornado или Gevent. Как переделаешь имиджборду, чтобы выдавала по крайней мере 5 тысяч запросов в секунду, можешь идти дальше - тебя ждет увлекательный мир хайлоада. Apache Hadoop, сверхбыстрые асинхронные key-value хранилища, MapReduce. Отсос хиккующих выблядков / просто неудачников типа рейфага или сисярп/джава-хуесосов, которые сосут хуй по жизни не заставит себя ждать и уже через пол года ты будешь получать такие суммы, что любая баба будет течь при одном упоминании твоей зарплаты.Прочитал и решил выучить этот язык. Это мой первый опыт в программирование, не посылайте нахуй, лучше помогите. Я не совсем понял автора и хотел бы, чтобы какой-нибудь умный анон мне ответил на мои вопросы. Но не хотелось бы тут об этом говорить, потому что много вопросов.
>>661892Ты того, этого, на мой анус даже не смотри, садомит!
>>661901>>661874и тут эта паста
>>661900типа того, только не мбп
Поясните за вставку видео и фото пользователем на джанго. Разрешить вставлять только ссылки в обычный charfield, а потом рендерить в шаблоне?
>>661870http://blog.programmersmotivation.com/2014/07/09/list-projects/
>>661901>какой-нибудь умный анон мне ответил на мои вопросы. Но не хотелось бы тут об этом говорить, потому что много вопросов.Спрашивай итт, хули ты. А так время на ответы мимопроходилу никто тратить не будет, инфа 100%
>>661901Только если ты няшный трапик или тян.
>>661804>>661835 всё верно говорит. В qt свои треды и с ними всё заебись. Либо ты их не исользуешь, либо используешь неправильно.
>>661813kivy, pyglet
>>661813Есть биндинги всякие https://wiki.python.org/moin/PythonGameLibrariesК ogre например.
>>661931URLField, ImageField
>>662055Разобрался, спасибо :3
Ананасы, как настроить свое рабочее место так чтобы приложение джанги можно было тестировать в инторнете. Чтобы закоммитил и одной кнопкой обновил сборку на сервере. Что вы используете? Фтп, git pull? И на чем лучше запускать, на пайтонэнивер или на хероку?
>>662232Код заливаешь через git/hgЧерез http://www.fabfile.org/ дергаешь всякие команды на сервере в нужной последовательности типаhg pullmanage.py syncdb/migrate/collectstaticи перезапуск сервера.Но вообще подобных средств миллион.
>>661638Да! И я тоже.
>>662232sshfs, потому что я ленивый.
>>662239Значит буду заливать на pythonanywhere, там даже консоли есть, а в качестве бд использовать хероку.
>>662244> там даже консоли естьИ как с этим работать?
>>661624Ох Кармаки, вы таки и правда решили написать движок за один день? Поучись на питоне треугольники рендерить для начала, чем дальше в си тем дороже код (то есть дольше делать).
>>662259Все через это проходят. Не дергайся, дай нюфаку пострадать.
>>662232Тебе нужен сервис Continuous Integration (CI). Каждый раз, когда ты будешь делать git push на сервере CI будет подниматься виртуалка, выполняться все заданные тобой команды (тесты) и при успехе развертка на сервере. Таких сервисов куча. Рекомендую SemaphoreCI, но это уже вкусовщина, они все почти одинаковые.
>>662253Берешь и без задней мысли работаешь. Такая же консоль как и на твоем компьтере.>>662269Спасибо, возьму на заметку
>>662297Тьфу я прочитал как "там даже консоли нет".
>>662232Я шелскрипт использую. Требуется только голый sshd. Естественно в нём тебе нужно переписать тысячу мелочей вроде перезапуска сервера, но зато на самом серваке ничего для деплоев ставить не надо, даже гит.https://gist.github.com/kctier/2a62a4db195692979d38
Анон, простейший кальлкулятор, как на кнопку типаdef initUI(self):....button = QtWidgets.QPushButton("button", self)....button.move(170, 110)....button.resize(35, 30)....button.clicked.connect(self.Button)подцепить сигнал клавиатуры через keyPressEvent?
>>662349Так в обычных сервисах CI тоже ничего ставить не надо. Пишешь кастомный скрипт для подключения по ssh к серверу и деплоя. Хотя можно вместо кастомного скрипта использовать готовые сервисы деплоя типа Капистрано, но это для быдла.
>>662495Мне кажется что CI как таковой в джанге бесполезен. Скриптец мне только аккуратно заливает всё "в одно нажатие". Конечно это больше для запиливаний в соло, для группы я бы поставил центральный bare гит и пару хуков на автотесты если есть, сборку проекта и залив.
>>662488через installEventFilter наверно или наследовать от кнопки и переписать его keyPressEvent
антисажа блядь
Привет всем.Есть какие-нибудь нормальные квизы по питону?Немного поискав нашел только какой-то один не очень сложный квиз + вопросы там повторялись.Суть в том, что не знаю, как оценить какой у меня уровень владения питона + технологии.Спасибо.
>>662571В дополнение:есть где ресурс для коллаборации на добровольческих условиях? Хочу какой-нибудь нормальный проект сделать, а одному ппц как лень и забью наверняка.Спасибо еще раз.
>>662571http://pyobject.ru/blog/2010/02/04/python-quiz/ старый довольно.http://www.mypythonquiz.com/ тут вроде простые вопросы хотя дальше идут сложныеhttps://alexbers.com/python_quiz/кто-то тут постил сложный квиз, но такие вопросы никто не задаст. ссылку я потерял.
>>662575во-во, как раз второй и нашел в гугле.
>>662349Какой у тебя захватывающий гитхаб.
Правда что при изучении змеиного языка первой программой пишут змейку?
>>662751Нет, имиджборду.
Дайте питоноскрипт на слотмашину, плекс.
>>662794if random.randint(1, 223) == 153: print("Jackpot!")
>>662818>223223
>>662820223
>>662821Пофиксили, что ли, возможность через [ b ] здезда [ / b ] писать?22 в кубе, кароч.
>>662818Мне нужно чтобы с барабанами крутящимися, арты я правда свои вставлю для кнопок и гуй свой будет.
>>662838>арты я правда свои вставлю для кнопок и гуй свой будет.Если ты в состоянии гуи сделать (и анимация барабанов туда, я так понимаю, входит), то в чём проблема написать десятистрочный скрипт? Делаешь три рандома, получаешь конечное состояние каждого барабана и запускаешь его. По полученной комбинации считаешь выигрышь/проигрышь.
>>662866Нет же просто слотмашина будет элементом всего лишь одним из, я просто хотел узнать есть ли библиотеки с готовыми пресетами.
>>662872Так что тебе конкретно-то нужно? Какими пресетами? С выпадающими символами или что? Вводи в гугл и ищи. http://www.gamedev.net/topic/618976-python-3-slot-machine/
Антоны, как вы управляете m2m связями в шаблонах джанги. Если например нужно отбразить все теги для каждого поста и чтобы на каждый пост не делалось по несколько sql запросов.
>>662879Да у тебя же ПРЕДЖЕВРЕМЕННАЯ ЭЯКУЛЯЦИЯ ОПТИМИЗАЦИЯ.У тебя рабочий код есть, срезультатом профилировщика, который показывает что у тебя куча скуль-запросов идёт? Если нет, то не еби себе мозг и сделай сначала его.
Аноны, поясните ньюфагу, какой python регэксп нужно вставить в ебаный LinkChecker(использую через консоль на винде), чтобы он игнорировал все URL содержашие в себе текст "gif" ? Пишу в коммандную строку linkchecker.exe --ignore-url=gif, но URL нихуя не игнорируются, хотя на приклейтед потестил этот простейший паттерн и он вроде бы всё матчит.Линк на ман - http://linkchecker.sourceforge.net/man1/linkchecker.1.html
>>662896А без регулярки нельзя разве?
>>662893У меня вообще изначально было примерно 50 sql запросов на 9 постов лол. Потом я при помощи select_related, annotate и {% with %} сократил до 24. Только что добавил prefetch_related и количество запросов сократилось до 16. Сейчас думаю смогу отрубить еще 8 запросов, но все же, в какой момент стоит задуматься об оптимизации запросов?
>>662898Хз, в мане написано --ignore-url=REGEX. URLs matching the given regular expression will be ignored and not checked.
>>662896.gif. попробуй
>>662908Блядь..<STAR>gif.<STAR><STAR> замени на звёздочку только.
>>662896Обычно знак '^' перед выражением используется для этого.
>>662879select_related, prefetch_related
>>662901Ну так ты сразу всё и пиши, не телепаты жи. Эти запросы только на посты с комментами или ещё что-то на странице есть?
>>662901Откуда у тебя вообще 50 запросов взялось? Наследование (one-to-one) слишком сильно используешь? Сколько моделей дергается на этой странице?
>>662574Пожалуйста.
>>662574На все вопросы вида "чо с кем попилить" нынче ответ один - гитхаб. Смотришь трендинг, ищешь проекты по каким-то интересным тебе кейвордам, мониторишь https://www.reddit.com/r/python - там часто мелкие и интересные поделки проскакивают, можно еще на официальный ирк-канал питона вкатиться.Раньше еще на сорсфордже был(?) интересный раздел 'help wanted' но сорсфордж какбе рип.
>>662923Только на посты и пара запросов для получения сессии.В посте у меня кроме названия, описания, автора и категории выводятся теги, которые получаю префетчем, время последнего комментария, которое я получаю при помощи аннотации и картинки(если есть картинка, выводит первую, а если нет, то выводит стандартную для категории). Стандартную для категории вывожу благодаря селект релейтед, а обычную приходится для каждого поста делать проверку в шаблоне есть ли картинка или нет, поэтому выходит так много запросов. Видимо придется добавить в модель Постов связь с картинками, потому что сейчас у меня связь не задана.>>662924Нет, просто я, например, когда проверял наличие наличие картинки, в случае если он есть я еще раз делал запрос на эту же картинку. (не использовал with)
>>656256Попробуй elm: http://elm-lang.org
>>663017Ну язык-то я может и попробую, а функциональность фреймворков там есть? Тот же эмбер позволяет мне по минимуму с js соприкасаться, половина кода - декларативная, вторая - простые свойства. Что-то посложнее встречается только в паре мест, где самую-самую базовую функциональность нужно для себя переопределять (у меня это, например, authenticator и autorizer). Модели с кешированием и автовытягиванием с апи и завязанные на них шаблоны с двусторонним связыванием - это дохуя, без этого жить сложно.
>>656084 (OP)Напомните, как с помощью Popen принимать stout программы, с учетом того, что программа будет работать демоном.Например, запускаю vlc скриптом и хочу принимать от vlc его stdout, stderr конструкцией stdout=subprocess.PIPE и и process.communicate()[0] и тут же их обрабатывать, а сейчас хотя бы отправлять в print или logging, но что-то не взлетает. Выполнение скрипта висит и ожидает окончания работы программы.
Как лучше всего работать с формами? Сейчас использую django-crispy-forms, но для составления нестандартных форм он не годится и работает нормально только с бутстрапом.
>>663505Тебя что конкретно интересует-то? Что ты под нестандартными формами понимаешь?
>>663512https://jsfiddle.net/bLLbd2ra/Что то такого вида. криспи оборачивает все формы в свои враперы, поэтому у меня не получается сделать форму первого типа + мне нужно убрать лейбл для первых трех форм, а для последней оставить.
>>663529http://stackoverflow.com/questions/11472495/remove-labels-in-a-django-crispy-forms
>>663529Как-то использовал django-bootstrap, там всё то же самое, только без мазохизма, все параметры бутстрап-полей выведены в параметры темплейттега.
Посоветуйте фреймворк с красивым названием, чтобы приятно звучало. Суть не важна.
>>663558whoresmustdie
>>663558pillow
Напоминаю(из видео pycon 2015)
>>663615Я вот как майнтейнер пары пакаджей могу сказать что портировали только то что используется хотя бы тремя с половиной калеками. Остальное просто валяется мёртвым грузом.
>>663628>fabric>6600+ звезд на гитхабе>до сих пор не портирован
>>663629Вместо него есть invoke http://www.pyinvoke.org/ , переписанный с нуля теми же ребятами фабрик. Но ты ниасилел почитать документацию и выбрал двойку для нового проекта. Ха-ха, лузер!
Няши, объясните начинающему на пальцах, для чего нужны и что делают всякие джанги и фласки? Вот например, у меня есть скрипт, который нужно включать с сайта по нажатию кнопочки. Мне нужно обернуть скрипт в этом фреймворк чтобы он дергал его и ставил запросы в очередь? А если я напишу бесконечный скрипт, который тоже будет дергать веб-морду, это тоже будет в принипе то же самое? Что-то я совсем запутался.
>>663679>бесконечный циклИзвините.
>>663679>для чего нужны и что делают всякие джанги и фласкиЭто библиотеки для создания HTTP/WSGI/FastCGI/uWSGI-серверов.>нужно включать с сайта по нажатию кнопочкиHTTP-сервер должен принять запрос от кнопки (либо через форму, либо кнопку ссылкой сделать, либо аякс), затем выполнить твой скрипт. Сложность в том, что архитектуры HTTP-серверов за много лет эволюционировали и сейчас это очень плохой тон загружать веб-сервер посторонней длительной работой, нужно чтобы страница вернулась сразу же, появилась какая-нибудь загрузка итд. Поэтому обычно поднимают celery, который автономно работает за веб-сервером. Веб-серверу остаётся только передать ему задание. Celery берёт задания и распределяет их между нодами-выполнителями, получается всякие отсылки смс и емайлов не убивают производительность веб-сервера и тихо себе без ограничений по времени выполняются в фоне.Если тебе это нужно для себя на локалхосте, то можно не заморачиваться с селери, а вставить запуск скрипта прямо в код вьюхи. Естественно браузер будет ожидать ответа сервера пока скрипт не выполнится.>бесконечный скрипт, который тоже будет дергать веб-мордуЭто уже совсем другая задача. Для неё бери requests.
>>663679Если совсем на пальцах, то все эти джанги и фласки есть набор скриптов с набором необходимых для веб-приложения функций, и со своей жесткой структурой(видимо, потому и называют "framework").По поводу кнопочки и бесконечного скрипта не совсем понятно, что ты имеешь в виду, и кто кого там у тебя дергает.
>>663683>>663690Вроде стало чуть ясно, но всё равно не понятно. То есть фреймворки должны ускорять работу всяких скриптов на сервере? Но как они это делают, если скрипт всё равно должен выполняться по своей независимой логике? Вот, отсылаю я апи-ссылку на сервер, он обрабатывает её, выполняется скрипт мой, например, выполняющий какие-то вычисления и дергающий базу данных, а потом отдает мне ответ на веб-форму. Почему с этими фреймворками должно быть быстрее?
>>663699Фреймворки ускоряют разработку, а не выполнение.
>>663702А, тогда понятно. Значит можно не беспокоиться за привычные скрипты, их не надо будет потом переписывать, просто подставить вместо нужных сетевых операций эти джанговские и всё? И всё на сайтах так и работает, когда делаешь запрос, выполняется настоящий скрипт, и быстродействие сервера, выходит, зависит от цп и сложности этих самых скриптов?
>>663699Как анон выше написал, фреймворки экономят тебе время на разработку. Например, ты хочешь, чтобы запускался скрипт при получении запроса на некоторый url("апи-ссылку", как ты это назвал). Во фреймворке уже есть обработчик запросов, и тебе всего лишь нужно будет указать при запросе на такой-то url запускать такой-то скрипт. (Это всё очень грубое описание)
>>663706Хорошо, спасибо. Пойду наверное книжки почитаю по этой теме.
>>663703Задача джанги это согласно протоколу HTTP вынуть из пришедшего потока данных информацию о запросе, запустить функцию с твоим кодом (вьюху) и отправить назад результа. Очень часто в подобных делах нужно отдавать содержимое некоторой базы данных, поэтому джанга предоставляет ORM, чтобы было удобнее шлёпать круды. В целом никто не ограничивает тебя в том, что будет в коде обработчика, можно целиком и полностью игнорировать предоставленный ORM. Но нужно осознавать особенности работы браузера и HTTP как такового. Например пользователь может обновить страницу - вьюха выполнится ещё раз. В идеале задача вьюхи - высрать HTML страницу и ничего больше.Я бы тебе посоветовал посмотреть на консольные утилиты (argparse поможет сделать это легко).python tool.py --api-url http://example.com/запускаешь, оно делает что тебе надо и выдаёт куда-нибудь результат, да хоть прямо в эту же консоль или в файл. Веб-сервера обычно поднимают когда в этом есть обоснованная необходимость.
Как выполнять рутину на Python?
>>66361590% из которых всеми забытое легаси говно, как и сам питон 2.
>>663703Ты неправильно понимаешь фреймворки. Фреймворк - это не библиотека: библиотеку ТЫ вызываешь, а фреймворк ТЕБЯ вызывает. Фреймворк - это готовый скелет приложения, пустоты в котором ты дозаполняешь нужными тебе функциями.
Нубский вопрос.Как передавать переменные между методами в классе?
Почему в джанге вьюхами называют контроллеры, а не вьюхи?
>>663751Потому что.. хуй его знает. Вот почему.
>>663751Потому что вьюха звучит как хуй.
>>663751Возможно, потому что Django MTV, а не MVC.
>>663751https://docs.djangoproject.com/en/1.9/faq/general/#django-appears-to-be-a-mvc-framework-but-you-call-the-controller-the-view-and-the-view-the-template-how-come-you-don-t-use-the-standard-names
Эй, начинающие змееводы, курс на кодакадеми хоть какую-то ценность имеет? Или там только самые-самые азы?
>>663761кодакадеми в принципе для самых самых нюфень расчитан
>>663751Потому что в джанге нет контроллеров.
>>663732Либо параметрами метода, либо атрибутами класса
>>663866Хотя я наверно неправильно спросил. Мне нужно подцепить нажатие клавиши.def keyPressEvent(self, e):....if e.key() == QtCore.Qt.Key_1:........return one.clicked.connect(self.Nums) # Вот не пойму как правильно вызвать. Так не работаетна вызов функции def Nums(self): ....global num ....global newNum ....global opVar ....sender = self.sender() ....newNum = int(sender.text()) ....setNum = str(newNum) ....if opVar == False: ........self.line.setText(self.line.text() + setNum) ....else: ........self.line.setText(setNum) ........opVar = Falseс параметрами изdef initUI(self): ....one = QtWidgets.QPushButton("1", self)....nums = [zero,one,two,three,four,five,six,seven,eight,nine] ....for i in nums: ........ i.clicked.connect(self.Nums)Алсо PyQt5.Тот анон допиливающий калькулятор
Посоны, как должен выглядеть скрипт миграции в джанго, который дропает все существующие таблицы в базе?
>>663679Нет просто cgi скрипт сделать
>>664071Все, не надо - дропнул через dbshell.
Анон, подскажи, пожалуйста, годный онлайн ресурс для управления домашним бюджетом.Я что-то гуглю и все как-то не очень.Если ничего не найду, буду сам пилить, поэтому тут и пишу. До этого писал в /s/ там молчок.
>>664071Ну на будущее просто убери все модели (закомментируй там, или из __init__ убери импорты) и makemigrations
>>664120Так я только свои модели дропнуть смогу, а мне нужно было еще дефолтные джанговские сбросить.
>>664126А. Ну легче базу всю дропнуть нафиг.
>>664128Базу не рискнул, она удаленная и у меня нет прав на создание новой в облаке, а вот дропнуть постгрес public schema и создать ее заново удалось.
Что нужно знать знать джанге для выполнения DELETE запроса черех AJAX кроме csrfmiddlewaretoken? ПОСТ запрос выполняет, а для DELETE выдает ошибку 403. На данный момент у меня в аджаксе указан type, url и data: {csrfmiddlewaretoken: csrftoken}
>>664174Use csrf_exempt.
>>664179Это же не безопасно.
>>664174Разве там не надо header передавать? X-CSRFTokenfunction csrfSafeMethod(method) { // these HTTP methods do not require CSRF protection return (/^(GET|HEAD|OPTIONS|TRACE)$/.test(method));}$.ajaxSetup({ beforeSend: function(xhr, settings) { if (!csrfSafeMethod(settings.type) && !this.crossDomain) { xhr.setRequestHeader("X-CSRFToken", csrftoken); } }});
>>664193POST без хедера работает. Ладно, придется читать документацию лол.
>>664202Ты откуда запрос делаешь? Если через бразуер и через аякс то хеадер нужен, потому что браузер выставит хедер что это аякс запрос
Смотрю сейчас видео по ruby. Как же я был слеп. Ruby на голову выше.
>>664231Предлагаешь пистоногосподам стать рубиблядями?
>>664249Делов то https://www.youtube.com/watch?v=Dji9ALCgfpM
>>664251Посмотрел видео, выучил руби, стал успешным альфой с далларами, ебу пистононищенок.
>>664204Да. Где хедер задавать нужно?
>>664275Я же тебе написал пример js кода. Скопипастил его из документации кстатиhttps://docs.djangoproject.com/en/1.7/ref/contrib/csrf/#ajax
Анончики, принято ли использовать бесконечный цикл со слипами, если нужно выполнять циклические задачи, или есть какой-то другой способ? По нагрузке цп вроде не проседает, но мало ли.
>>664427Да.
>>664427Может лучше крон?
>>664437Не, с кроном только запутаешься.
>>664427> По нагрузке цп вроде не проседаетИ не должен, пока процесс в слипе он никакой нагрузки не создает.
>>664427А других способов полно celery например.
>>664445Это не просто библиотечка? Погуглил, обертка выглядит здорово, но как оно подключается и работает - как то мутно написано, похоже надо демон запускать, который крон же и задействует, не?
>>664462Демон надо запускать. Это тяжелая библиотека, зависит от твоей задачи. Если что-то простое пользуйся просто while/sleep
>>664231Опять фанбой из рабитреда вытек.
>>664231А как же Go?
>>664478go - говняшка.
>>664479Сам ты говняшка, бака.
>>664484Многие кто сначала поддался хайпу начали плеваться.http://yager.io/programming/go.html
>>664231Если можно, короткую выдержку, почему руби на голову выше.
>>6645201) в отличии от питона, руби не ассоциируется со школьниками и домохозяйками, а вызывает в памяти образ успешного и самодостаточного мужчины2) на руби ты может сделать твиттер за три часа, а на питоне за три месяца3) у руби есть свой стиль и сильной коммьюнити, чего нет и не было у питона
>>663731я не он, но у меня тоже вопрос про то что такое фреймворкчто такое библиотека я понимаю и люблю - набор функций, для удобства вызова сгруппированный по какому-то признаку в отдельный файл (модуль)пикрелейтед, вики описание отличий фреймворка от библиотеки тоже понимаю. Но что такое фреймворк? Где он начинается и где заканчивается?Я так понимаю что это должно быть какое-то приложение (причем не обязательно на том же языке на котором и я пишу), которое ожидает получить корректный набор файлов с моим кодом, да? Корректный -- значит структуру определяет фреймворк и надо следовать его правилам.А что происходит потом? Фреймворк интерпретирует мои исходники и выполняет их? Еще подумал что это похоже на написание расширения, плагина для приложения, в том случае если само приложение без плагина почти ничего не делает -- но не осилил аналогию
>>664520Реальсы. Охуенная экосистема - rake, chef, puppet, всякое такое. Тысячи gem`ов для рельс.Много способов сделать одно и тоже, можно делать DSL(этим активно пользуются), можно менять поведение даже встроенных типов, всё - объект, метапрограммирование на высоте.Дохуя работы на рельсах в интересных проектах, где дадут macbook.
>>664531>у руби есть свой стиль и сильной коммьюнити, чего нет и не было у питонаЛол.
>>664531>>664539Ну понятно. Как пхп, только лучше. numpy хоть есть?
>>664543Мне скорее perl напомнило всякими unless и множеством способов делать одну вещь и гибкостью.Нет, руби для веб в основном.
>>664533Фрекмворк это набор библиотек, которые позволяют тебе решать какую-то задачу. Как правило, ставит тебя какие-то рамки - определенная типовая структура проекта, способ конфигурации.
>>664541Это так. У руби всё сосредоточено вокруг рельс, библиотек для них, стандартных утилит, которыми пользуется все(типа bundler, rake, rack, etc).У питон каждый пишет свой велосипед, многие вообще не на тему веба, а каких-то поделок.
>>664551Хорошо, спасибо.Как доберусь до них и потрогаю, думаю понятнее станет. Мне пока так просто, на будущее..
>>664533Фреймворк - это набор готовых скриптов-решений низкоуровневых бытовых задач. Благодаря ним ты можешь запилить свитор >>664531 на питоне за 3 месяца, а не три года. Ты хочешь написать сайт. Если делать с нуля - придется писать свой велосипед с HTTP запросами, проверками безопасности и защитой от атак, обращениями к БД и т.д. Но велосипед уже изобрели до тебя - берешь Джанго, с готовой системой MVC, хуяк-хуяк и в продакшен. Скрипты крутятся, даллары мутятся.
>>664557За 3 месяца можно и фреймворк свой запилить и свитор, даже не используя готовые библиотеки.
>>664560Ну я образно говорю.
>>664553Хз, меня больше в проектах на питоне смущал собственно сам говнокод проекта, когда пишут файлы в несколько килострок без достаточной декомпозиции. Как-то утилиты легко все поддавались, я даже не замечал. Кроме ебанутых миграций. У меня даже на пхп как-то было поделие круче, которое вычисляло diff между существующей схемой БД и заданной, и выполняла всё это.
>>664566Вообще мне кажется неправильно брать фреймворк и на нем что-то делать, не понимая что там внутри происходит. Начинать нужно с чего-то типа cgi скриптов, потом завилить свой велосипедный фреймворк и уже потом можно это всё выбросить и перейти на готовый )
>>664557Библиотека это типа сайлонец, знающий что он сайлонецА фреймворк это сайлонец, думающий что он человек
>>664569> файлы в несколько килострокпикрел. И всё засунуто в один класс)) Который вообще не класс а синглетон)) 211 методов в нем
>>664572Ой, это прям мой путь. В инете даже есть сайт с относительно активной посещалкой на моём велосипеде. Но если честно, я бы нюфань обучал иначе. Надо отделять что такое ORM, что такое роутинг, темплейты и прочее. Сначала им лучше чуть парсингом позаниматься чтобы посмотреть протокол, все эти хедеры, немного в идеологию REST поглядеть. Затем освоить чистый SQL, можно даже без джойнов, foreign key/1-1/1-M/M-M понять уже хватит. Затем попробовать ORM (причём тупо импортировать и играть, прям как в туториале), понять что в большинстве крудошлёпских случаев с ним меньше писанины. Потом роутинг (знание HTTP протокола позволит понять нахуя оно вообще). Потом темплейты, тоже отдельно, какой-нибудь jinja2, оно всё равно очень на джангу похоже. А потом уже писать бложик на джанге и можно уже твёрдым таким джуном устраиваться. Уложиться можно в месяца три.
>>664572Ну я бы не сказал, что неправильно. Чтобы водить автомобиль не обязательно знать как рассчитывается процесс сгорания топлива в двигателе и теорию поворота, хотя для общего развития и понимая процессов в автомобиле не помешает. Ты используешь чужой опыт, и избегаешь пройденных ошибок - в этом нет ничего плохого. А использовать велосипеды в продакшене я бы не стал. Так и программы можно с перфокарт начать изучать.
>>664585Я когда-то и ORM свою велосипедил(и не одну лол, последний раз делал просную обертку над sqlite). И движок темплейтов какой-то.А всякие http заголовки я знал ещё до того как сайты начал пилить - потому что делал утилитки для выдерания чего-то с сайтов или постинга, нормальных высокоуровневых библиотек не было(или я про них не знал) и делал это всё на winsock`е.Да и работа со всякими консольными клиентами ftp помогает(протокол похож немного)
Я смотрю некоторые люди в 2016 начинают изучать php. Пиздец.php стал популярен, потому что альтернативы были в лице perl, костылей на си и asp(только под винду).А сейчас.. В php даже fastcgi не трушный, всякие вебсервисы на нем через жопу будут, поддержка вебсокетов вряд ли нормальная возможна.
>>664606Потому что Wordpress. Сделайте Wordpress на питоне/руби с установкой в три клика, туда укатятся.
>>664619Вроде бы делали уже тыщу раз. У вордпресса кучи тем есть, вот если ещё и автоимпорт темы запилить, то вероятно самые прогрессивные начнут юзать.
>>664642Да нужно, чтобы искаропки все было.
>>664577> test <> 127Syntax error.
>>664577Ох. Это да это же мираж. Там да, редкостный говнокод.
>>664648Это второй питон. <> это аналог !=(взято из бейсика).В третьем это убрали.
>>664619Даже если запилить, для поднятия сайта на питоне/руби нужны какие-то базовые знания линакса.На php же ты просто по ftp заливаешь файлики на shared хостинг.
>>664663Нужна поддержка хостингом питона/руби искаропки.
>>664668Ну где-то такое было. Но это не универсально, а хостинго-специфично.Да и кто будет заморачиваться если есть проверенный временем wordpress с кучей тем и кучей школьников готовых его настраивать/допиливать за еду.
>>664658Лолд, даже не знал такого. В глаза бросилось моментально.
>>664675Никогда на бейсике не писал чтоли?Вообще в питоне это единственный раз когда я видел, чтобы этим пользовались. Видимо автор mirage любитель бейсика(это многое объясняет)
Посоны, а не слишком извращенно будет пилить ГУИ на PyQt через WebView с помощью CSS и HTML?Или дайте какой нибудь годный туториал по PyQt, не могу я на нем ничего делать. Кажется слишком перегруженным в отличие от вебгуи.
>>664696Гуи на куте обычно работают быстрее. Если хочется пилить на вебстеке, то electron бери. Под мобилки наверное лучше ionic.
>>664700На ionic'е делал, но у меня вся логика написана на питоне. Я с этим гуи очень сильно терзаюсь. Не хочууууу его делать.
>>664711https://www.reddit.com/r/Python/comments/3itauz/does_python_have_something_similar_to_electron/Там два стула есть flexx и cefpython.
Сейчас перекат сделаю.
>>664731Где перекот?
>>664734https://www.youtube.com/watch?v=n75nhTiqyxE
>>664737Вообще охуеть, мой радикулит заныл просто глядя на это.
А можно в питоне как-нибудь добиться реального возвращения нескольких значений из функций или хотя бы игнорирования непрошенных элементов тупла? Шоб как в луа - http://ideone.com/JrWWw3 (таки очень удобная фича оказалась)
>>664793def func(): return 1,2,3,4,5a,b,rest = func()a,b,c,d,e,rest = func()
>>664796блин. перед rest звездочка
>>664797http://ideone.com/2Ac1q8
>>664802Ну и? Можешь rest этот не использовать. Вообще непонятно зачем такое нужно и это unpythonic.Это как в javascript с аргументами функций.
http://pythoncentral.io/sqlalchemy-vs-orms/Годная статья.
>>656084 (OP)Вопрос из квиза http://pyobject.ru/blog/2010/02/04/python-quiz/"Функции" п.3Хуля мой высер не пашет?возвращает лист с копиями одной и той же функции.def addition(*args): def add(b): return b+a list_of_functions=[] for a in args: list_of_functions.append(add) print(list_of_functions) return list_of_functions
>>664827Запости на dpaste.de
>>664827from operator import addfrom functools import partialdef funcs(f, t): return [partial(add, i) for i in range(f,t+1)]
>>664831https://dpaste.de/Q11w>>664832задача несколько иная, не?
>>664845> задача несколько иная, не?В каком смысле? Результат тот же.
>>664808С мобилки читать твою ссылку сплошное страдание. Постоянно на полэкрана баннер появляется. Страница сама по себе весит дохуя и периодически перезагружается. И чет я нихуя не узнал толком нового. Как про сорта говна почитал.
>>664845https://dpaste.de/NNPb
>>664849getpocket.com
>>664852ок, спс.Такой тогда небольшой вопрос по теории https://dpaste.de/YrzJПардон за лексику, на то есть объяснение
>>664796Так это всё равно нужно предполагать, что функция возвращает больше одного. А так как у меня функция 2 возвращала, а использовать я хотел 1, то разницы между x, y и x, *y Для меня нет.Впрочем, может потом пригодится, спасибо. (Я оператор развёртки не туда пихать пытался.)
>>664862Это называется замыкание. Почитай про них.Увидеть можно как-то так
>>664861У меня фуррифокс синк для этого. Статья всё равно ниочем. Клоны клонов с чуть разным синтаксисом. Ну не приспособлены реляционные БД под такое. Нужен всего-то хороший класс для конструирования запросов и миграции.
>>664867> не приспособлены реляционные БД под такое. Под какое? sqlalchemy офигенна, можно какой угодно запрос построить, поддерживаются какие угодно типы полей.
>>664866както по кульхацкерски ты подошел к просмотру.альзо, как сделать так, чтобы инстанс класса понимал лексику class_instance(argument), ну т.е чтобы вел себя фактически как функция в деле приема аргументов? Наверное можно от чегото унаследовать и следать override но не придумал от чего.>>664848>В каком смысле? Результат тот жено я же нихера не понял, лол
>>664876Ничего не надо наследовать, просто определяешь метод __call__> но я же нихера не понял, лолpartial и делает карринг. т.е. она связывает функцию с аргументом
Посоны, подскажите как в джанго сделать:есть пользователь, который делает Посты, есть модель поста, в поле этой author этой модели указан пользователь через форейн кей. Как мне в профайле пользователя показать все его посты?
>>664880User.post_set.all()
>>664879А, ну точно. Я то с __setattr дрочился и еще с чем то, про __call и забыл.про partial я и не сомневался что работает, просто образовательная ценность подхода сомнительна.Пойду спать, спасибо за ответы
>>664882Имеется ввиду конкретный инстанс юзера конечно, а не сама модель т.е. userobject.post_set.all()И предполагается что модель поста называется Post>>664883partial вообще редко нужен имхо
>>664884Я сходу не смог разобраться, но спасибо!
>>664680В школе писал, но уже забыл его операторы.
>>664711Есть ещё remi.
>>664898В SQL тоже <>
>>664901sql не пользовался с лаб универских, сарян.
Учитель по информатике говорит, что лучше мне сразу C++ или Жабу учить, у питона, мол, синтаксис сложный.
>>664944Си/плюсы учить беспроигрышный вариант во все времена, вне зависимости от его забулжений на счёт питона. Так что можешь смело следовать совету, да.
>>664944Твой учитель по информатике не знает питон. Да я удивлюсь если он плюсы или жабу знает.
>>656084 (OP)Анон, как на 'tkinter', используя 'askopenfile' или 'askopenfilename' вывести имя файла?
>>664892>>664884В общем надо мне get_context_data переопределить
Аноны, подскажите пожалуйста какую-нибудь несложную питоновскую приблуду, которая может загружать сайты с джаваскриптом и выполнять что-то в них. Только не селениум.
>>664984По-моему кроме селениума просто ничего не существует такого
>>664984ghost.py
Перекат пилите.
>>664986>This method returns a tuple of main resource (web page) and all loaded resources (such as CSS files, javascripts, images...).Хм, а оно именно исполняет и выводит готовую страницу, или просто выдает отдельно содержимое скриптов и ксс?
>>664989Сам пили, ёпту!
>>664994Угадай с трёх раз.
ПЕРЕКАТhttps://2ch.hk/pr/res/665294.htmlhttps://2ch.hk/pr/res/665294.html
>>656084 (OP)http://pyobject.ru/blog/2010/02/04/python-quiz/"Классы" п1Я не понял, что можно в объекте класса переменные(атрибуты) на ходу добавлять?Или предлагают инициализировать переменные которые я создал в классе?
Значит так блять, я четвертый день учу питон и в скором времени к хуям положу ебаный сосач(с помощью моего хитрого скрипта). И что бы этого не произошло, вы должны выполнить мои условия :> a = "Анон сосет мой хуй! "> b = "Платите выкуп и я не трону двач!"> c = "Сумма выкупа:"> d = 500000 + 500000> e =('даларов')> f = "P.S. ваш Кулхацкер2004"> print(a)> print(b)> print(c,d,e)> print(f)
>>652531Пытался поставить пакет(или как это зовется) анакондас, выбивало ошибки, типо не может добавить в путь и еще что-то, питон поставился - а оболочка ipython - нет. Имя у меня кириллицей. Может ли это быть причиной? Или же я не могу найти ipython? Как мне переименовать и не проебать все установленное?Подскажете?
у меня тут вопрос по соглашению по именованию переменныхесть ли какая-то рекомендация, как лучше называть переменные которые потом возвращаются из функции?PEP8 Naming Conventions прочитал, не нашелсам называю их out или res (out больше нравится), но это сцуко 3 символа ведь. использовал бы О, но PEP8 запрещает
>>667642Да ты бы переменные пробелом именовал, если б разрешили.