Шапка треда:https://github.com/TheKnightsWhoSayNi/info/wiki/Hat
Пиздец этот ваш пистон. Второй день ебусь с установкой openai universe, так нихуя толком и не работает.
>>931572 (OP)Сап программмач.Нужно вывести окно, в котором мышкой тыкаются в произвольных местах точки.И После определенных вычислений нужно эти точки соединить в некотором порядке.Кстати сами точки должны знать свое расположение в полярной системе координат.т.е. свой радиус и угол наклона.Собственно вопрос: какая библиотека подойдет?
>>931624Я никогда не работал с GUI, но беглым взглядом вижу что PyQt подерживает взятие позиции курсора http://pyqt.sourceforge.net/Docs/PyQt4/qcursor.html. Думаю клики он тоже ловить умеет.
Впрочем за тебя уже все сделали.https://stackoverflow.com/questions/19825650/python-pyqt4-how-to-detect-the-mouse-click-position-anywhere-in-the-window
>>931614Ясно. Продолжай держать нас в курсе.
>>931614
>>931625>>931628Найс, спасибо большое
Вот типичный Django для статики на dev сервере:>urlpatterns = [...] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)У меня есть деплой, и там каортинки загруженные с админки так не отображает. Мне не охота ебаться с ngnix там и прочим потому что хостинг не позволяет да и образовательных целей нахуй не надо. Памахите.
>>931648Бля разметка, ну да ладно.
>>931648Если ставлю на деплое DEBUG = TRUE то работает но ка-то ноч вариант.
>>931625> pyqt4> 4> 4
Наткнулся на хорошо структурированные туториалы.https://pythonspot.com/
>>931730Туториалы до пизды, все равно забудешь все. Главное это практика, прикладной код, а не школьная хуйня, а там уже и сам все изучишь.Пару раз по доками прошелся - и вперед писать свой двач.
>>931744Я начинающим запостил.
>>931747Вот я так просрал кучу лет, читал книжки, туториалы, думал, что это поможет, а в итоге всё равно начинаешь думать с нуля, находить другие приемчики, заново читать доки, когда пишешь реальный проект.
>>931753А я так просрал все внимание. Когда начал галопом прыгать по вебу и интересующим меня фреймворкам, а потом выяснил что существуют itertools, collections и что чтобы вернуть None вместо несуществующего ключа, можно использовать .get а не писать блок проверки.
>>931756Уж лучше так, чем вобще никак.
>>931768Ну это ясное дело.
>>931744>>931753>>931756проинкрементировал этих ананасов.
Аноны, устанавливал кто apache2.2 и python3.5(for flask)? Ебусь уже долго и упорно. Смог установить лишь апач со вторым питоном, вроде как вычитал что не всё так просто, и нужна какие-то йоба библы ставить, прошу, помоги, антош.
>>931823>apache>2017
>>931784
>>931897Что не так тебе, довн?
>>931939Гавнажор спидорашный, бббббггеее.
>>931941Ясно, у довна обострение прост.
Я ознакомился с AByteofPython, а как мне начать что то писать? Чувствую себя дауном. Вот я хочу запилить качалку с ютуба. Как мне быть?
>>931973https://github.com/rg3/youtube-dl/
>>931973Ну запили, хуле ты.
>>931973newcoder.io
Палю годноту питонистам http://intermediatepythonista.com/intermediate-pythonista-table-of-contents
Так что, никто не юзал апач2,2 с питоном 3?>>931941Окей, антош, что тогда юзать? Посоветуй. Ну и желаетльно линк дай на адекватное описание процесса установки/запуска.
>>931990nginx + gunicorn мимо-другой-антуан
>>931984> Ну запили, хуле ты.Смешно.
http://pyvideo.org/pycon-us-2014/generators-the-final-frontier.htmlПродолжаю постить годноту в трехд
>>932021Постили уже полгода назад.
>>932030Кто-нибудь еще увидит, кто не видел полгода назад.
>>932041У этого мужика еще было годное выступление про метаклассы.
>>931973Допустим у тебя есть ютуб урл на входе, алгоритм разработки таков:1. Идешь в гугл, спрашиваешь: "how to get the direct url of youtube video" (+опционально %языкнейм%), теперь у тебя есть способ преобразования "https://www.youtube.com/watch?v=кодвидео" в "https://видеохостинг.com/blablabla.mp4", полдела сделано.2. Теперь опять идешь в гугл, и спрашиваешь: "how to download a media file python"гугл говорит что-то типа:> import coollib> coollib.download('https://видеохостинг.com/blablabla.mp4', '/ДискЦе/file.mp4')3. Оборачиваешь это все в свой main.py и выкладываешь на гитхаб.Все, можешь спокойно идти трудоустраиваться за 300 к/сек.
Начал работать с твистед и сразу вопросы к опытным анонам.1) Как проверить - блокируется ли приложение или нет?2) Добавлять в список словарь - блокирующая операция или нет?3) Есть ли специальные средства для вызова системных команд, типа ls и тд? Или делать через subprocess?4) Может кто даст нормальный пример хорошего веб-приложения на твистед? С роутерами, пост запросами, какими-нибудь длинными неблокирующими операциями? Мне просто код посмотреть и сделать по подобию.Вроде все, спасибо.
Привет, теперь я тут часто зависать буду. Можно я буду неймфагом и возьму себе нейм "Долбоебик"? Почему эта ебаная программаa = 10b = a(type)print(str(b))не возвращает мне слово int?
>>932091А оно и не должно иименно "int" возвращать.
>>932093А, я понял, я просто даун.Вообще тип вызывается вот такa = 10b = type(a)print(str(b))Но в таком случае он возвращает <class 'int'>Хм...
>>931140А в чём смысл брать менторов на ночь, кстати? Ведь всё равно обучаться будешь не больше пары часов, а если немного перед работой утром захочется освежить знания, так ещё на часок можно взять.
>>932094Ну так и чего тебе не нравится-то? Так вот питон типа обозначает, <class 'XXXX'>. Если хочешь получить конкретно то, что было написано при объявлении (class ZZZ: ...), то обрабатывай эту строку, формат всегда один.
Карочи есть примитивная прога.name = input("Please tell me what's Your name? ")print("Nice to meet You, " + name)def age(age_1): if age_1 == 20: print(name + "'s age is " + age_1) else: print("Sorry, You should go back and print number")age_1 = print(input(name + ", please enter Your age: "))Почему возвращает ВСЕГДА else, а не if условие? я ввожу 20.Сначала хотел просто чтобы он тип проверял, как в этом примере >>932094, но пока не знаю как это реализовать, ибо возвращает как анон подчеркнул >>932096 class 'int', наверное, надо просто со строками играть типа len[7:9]
>>932097С отступами не проебался, просто почему то съелись отступы после отправки.
>>932097>age_1 = print(input(name + ", please enter Your age: "))В переменную age_1 записывается то, что возвращается функция print. Что возвращает функция принт?Перед твоим следующим вопросом, input возвращает строку, а ты это потом с числом сравнить хочешь. Строка не равна числу никогда.>но пока не знаю как это реализоватьtype(x) возвращает именно тип переменной x, а не строку с его названием. Для простоты можно сказать, что класс и тип это одно и то же. Так вот, если ты хочешь сравнить тип/класс переменной с нужным тебе, почему не хочешь просто взять и сравнить их? Вот ты сравниваешь две переменных, в которых записаы цифры, а у тебя будут, условно, две переменных, в которых записаны классы. Никакой разницы нет.
>>931572 (OP)Вопрос всем работающим:Почему требования при трудоустройстве на питон слабее, чем при устройстве на ту же джаву? Т.е. , насколько я знаю, на собеседованиях по джаве спрашивают хотя бы основы - простейшие алгоритмы и структуры данных, ООП и тд. На питоне же самый каверзный вопрос который мне задали за все время это что будет если сложить True и False. Уточню что я джун-питонщик и для работы джава пока не требовалась. И до сих пор я устраивался только в сомнительные-полусомнительные конторы.
>>932095Бывают такие ситуации, когда СТУПОР, и можешь неделями пытаться решить проблему и в итоге бросишь и пойдешь работать в мак, а ментор мог бы за пять минут решить и объяснить.
>>931973Качалка с ютуба это хуйня однострочная, ты лучше вкатывайся в веб, напиши более-менее функциональное приложение на фласке, например. Традиционно - это написать борду, но можешь и своё что-то придумать. Это не сложно, но зато придется использовать более широкий стек знаний.
>>932137>Качалка с ютуба это хуйня однострочнаяПривет из 2005? Там хуйню сейчас понаделали такую, сигнатуры какие-то получать, js/swf код выполнять.>>932134Мне кажется, ты не так мой вопрос понял. Или это я усмотрел намёк на проституток там, где его не было.
>>932151>з 2005? Там хуйню сейчас понаделали такую, сигнатуры какие-то получать, js/swf код выпЩас бы юзать голое апи вместо божественных библиотек.
>>931973apt -y install youtube-dl
Подскажите, пожалуйста, литературу для изучения питона 10класснику (новичок практически) Основная цель сейчас - разобраться во второй части ЕГЭ по информатике. Хотел начать Лутца, но где-то читал, что бегиннер не все поймет. Ваши варианты? Еще рассматриваю Майкла Доусона
>>932238Завтра ищешь в интернете книжку Dive into python. Похуй если ничего не поймешь. Затем идешь на python.org и изучаешь стандартную библиотеку от корки до корки. Потом зубришь, именно, сука, вызубриваешь конвенцию по написанию питоньего кода - PEP8, чтобы от зубов отскакивало. Когда напишешь свою первую имиджборду, по пути изучив верстку на html+css, скачиваешь и изучаешь любой питоний асинхронный вебсервер, рекомендую Tornado или Gevent. Как переделаешь имиджборду, чтобы выдавала по крайней мере 5 тысяч запросов в секунду, можешь идти дальше - тебя ждет увлекательный мир хайлоада. Apache Hadoop, сверхбыстрые асинхронные key-value хранилища, MapReduce. Отсос хиккующих выблядков / просто неудачников типа рейфага или сисярп/джава-хуесосов, которые сосут хуй по жизни не заставит себя ждать и уже через пол года ты будешь получать такие суммы, что любая баба будет течь при одном упоминании твоей зарплаты.
>>932238https://ru.scribd.com/document/339188541/A-Byte-of-PythonЛутц нужен только когда уже вкатился и имеешь представление что к чему. Для начального уровня достаточно документации/онлаен академий/книжек для нубов. Потом пишешь пару своих прикладных мини-проектов, начинаешь вдуплять, думать об оптимизации, встроенных функциях вместо своих костылей, алгоритмах, тогда уже и открываешь всякие лутцы.
>>932238Ну ты тупой школьник. Переходишь в шапку на гитхабе и смотришь раздел Легкие книги, читаешь их и начинаешь программировать на питоне через 5 часов.
Посоны, какой либой по канону работать с удаленной MySQL базой?
>>932238>Лутц>бегиннер не все пойметОн же все разжевывает как не кто другой
>>932345Выше мне ответили, что Лутц для тех, кто уже разбирается
>>931140есть куда дешевле, если речь не о C++ конечно
>>932110>Почему требования при трудоустройстве на питон слабее, чем при устройстве на ту же джаву?неправда вообще
анон, есть строка, в ней слова разделены точкой с запятой. Надо каждую пятую точку с запятой заменить. Знаю про string.replace, но не знаю как подобраться к каждой пятой
>>932402Сделай генератором, базарю, ещё захочешь.
ребята, нужен совет: фласк или джанго? сам опытный веб-программист (и не только веб), но не работал уже много лет. осваиваю питон. желательно веб-фреймвок НЕ для дебилов, без миллиона слоев абстракции, автоматики, "магии", чтобы легко заменялась встроенная ORM и шаблонизатор, чтобы новичку можно было им уверенно пользоваться без скаффолдинг-скриптов для боилерплейта, чтобы легко и просто было в нем разобраться и контролировать. раньше сам писал MVC-фрейморк, но под питон пока не потяну, надо готовый. говорят джанго мне не подойдет, но: реально ли вообще будет найти удаленную удаленную питон-джуниору на фласке? ощущение что для джуноиров даже джанго-работы мало, не говоря уже про фласк. в сомнениях короче.
>>932406засплитить а потом навставлять туда заново ';' и нужных мне символов?
>>932342Бамп.
>>932407> удаленную удаленную А регги ты слушаешь?
>>932402re.finditer ищешь все индексы ; потом берешь каждый 5 индекс, заменяешь по нему в строке.
>>932402Игорь?
>>932422а реплейсить-то как?
Не могу въехать в Django URLsr'^$' : я так понял это главная страница?Чем отличается urls.py в настройках проекта от созданной urls.py в приложении? Про первое понял, что это настройка ссылок, но про второе - нет.
>>932431Ебать ты деревянный, замену в списке по индексу не можешь сделать.
>>932432>Чем отличается urls.py в настройках проекта от созданной urls.py в приложении?В настройках проекта - главный файл. Там ты можешь подключать urls.py из отдельных приложений. Но можешь вообще ничего не подключать, а все писать в главном файле, если не планируешь использовать свои приложения отдельно в других проектах.
>>932411Просто по символу генерировать, считать и запоминать ";", а при вызове генератора join сделать.
>>932433> замену в спискеВ каком списке?
>>932407> веб-фреймвок НЕ для дебилов, без миллиона слоев абстракции, автоматики, "магии", чтобы легко заменялась встроенная ORM и шаблонизаторочевидный bottle, Все ручками
>>932440такой подход импонирует лично мне, по опыту который у меня был много лет назад (мне всегда проще было собрать весь проект из отдельных компонентов либо некоторые даже написать самому: тот же роутинг, каскадные конфиги и т.п.). но мне 32, я уже не быстро учусь и пытаюсь вкатиться джуниором в питон. изучать способы обхода волшебства джанги будет трудно и непонятно зачем нужен фреймворк-черный ящик чтобы потом с ним воевать. (слышал что и компонентны у него не идеальны и их многие заменяют). но я в не том положении чтобы выебываться. вопрос насколько это вообще реально устроиться питон джуном удаленно не зная джанги (но зная на начальном уровне например фласк, или черрипай или боттл или что-то подобное)? т.е. смысл-то не учить джангу если на любой работе мне придется с ней столкнуться, тупить, не справляться и т.д.
>>932434Спасибо, немного въехал уже.
>>932402https://ideone.com/UFxSmc
>>932453Шансов вкатиться на Flask перепрыгнув Django у тебя нет.
>>932342Бамп. Платиновый же вопрос. Скажите, что юзают в продакшене-то?
>>932342СКЛ-АЛХИМИЯ
>>932463Ну и блевотина.
>>932440>>932453тогда уж Tornado, асинхронность, хайлоад, и не только
Анон, такая проблема. Пишу скрипты, написал даже бота для телеграма, но никак не могу понять, где и как можно применить ООП. Есть какой-то страх в изучении этого. Как перебороть? Есть какие-то задачки по возрастанию с объяснением по этой теме?
>>932485>но никак не могу понять, где и как можно применить ООПЕсли не можешь понять, то и не нужно.
>>932487Возможно, в своих задачах я мог бы его применять, чтобы говнокод стал чуточку лучше.
антон, я тут недавно накрапал тулзеху, пингалка инета + опрос роутера на предмет отвала 3G мопеда и его ребут.раньше до питона руки не доходили, но задачка-то хуйня, единственное на чем встал в ступор - при загрузке страницы с помощью urllib2 срабатывал редирект, НО! при внимательном рассмотрении трафик дампов (девконсоль браузера мне тоже ничего не показала и я решил проверить наверняка) выяснилось что 30x там не пахнет, а редирект сделан window.location.href= в яваскрипте страницы (они там организованы в фреймы - для этого и редиректят после проверки)! БЛЕАТЬ НО КАК ЖЕ ТАК? питонячья urllib2 чо нативно умеет яваскрипт или это какая-то исключительная ситуация?редирект-то я задавил кастомным обработчиком urllib2.HTTPRedirectHandler, но ситуация так и осталась не понятной.P.S. еще была трабла в том, что на боевом роутере (TP-Link) требуется авторизация, и у китайцев походу свое видение использования Authorisation Basic, т.к. в хедерах они передавали правильную строку, но не с 401 а с 200! ну допустим это еще можно понять, чтоб не браузерное стандартное окно рисовать, а свою красивую форму, но она при отправке авторизации вместо передачи чисто в заголовке, как положено, передает правильно сформированную строку в куке - вот кто все-таки уебок - китайцы или я?
>>932488Ну хз, поставь джангу, напиши на ней борду/бложек, по ходу смотри как там работа с классами реализована.
>>932488stop writing classes.flv
>>932487ООП вообще не нужно на самом деле.
>>932523ооп в пифоне удобно как данные + методы. можешь конечно свои данные явно закидывать в функцию, но какой смысл? "abc".upper() vs str.upper("abc")
>>932485Нужно для повторного использования своего кода.Из этой задачи проистекают требования к формированию объектов.Например ты хочешь в далеком светлом будущем воткнуть своего нахуй никому не нужного бота для телеграма в свою будущую охуенную мега-программу которая будет делать хуй знает что, причем ботов в этой программе планируется запускать сразу пачками. Нужно взять существующий говнокод, добавить к нему процедуры инициализации параметров по умолчанию, перетрясти код в плане выявления всяких неявных параметров, передаваемых основным функциям, обернуть все это в класс, протестировать в работе, написать документацию. Тогда через год для запуска пяти ботов с разными параметрами тебе нужно будет всего лишь импортнуть описание класса и написать пять строчек инициализации для объектов. Если ты всего этого не сделаешь, через год есть шансы что твой бот для телеграма вообще не запустится и чтобы разобраться в чем дело и запустить их пять штук разных понадобится уйма времени, которого скорее всего у тебя не будет. Как-то так.
>>932530Как боженька спизданул. Спасибо.
Гайз имею такой текст http://pastebin.com/SirYDhNn где кол-во текста и кол-во таких ссылок может быть бесконечно большим. Как мне оттуда выцепить весь текст не имеющий отношения к тегам, причем последовательно?
Анон, посоветуй IDE, которую можно поставить на ведроид.
>>932551xpath /text()
>>932572посмотрел, я все равно не понимаю, как это использовать. Это скорее поможет мне вытащить текст между тегами <a><a/>, а мне нужен то нужен весь текст, который не находиться между тегами и который не теги.
>>932555vim/emacs/nano
>>932599Юзой регулярочки.
>>932606ну это была моя первая мысль, но ничего адекватного написать не удалось. Но все идет к тому, что сейчас пойду покорять регулярки...
>>932551Погуглил за тебя, держи. https://stackoverflow.com/questions/4995116/only-extracting-text-from-this-element-not-its-children
>>932609спасибо
>>932599> Это скорее поможет мне вытащить текст между тегами <a><a/>нет
>>932342с удаленной то ты как собрался работать? ты из гитлаба что ли?
>>932474Такой бред.
>>932407хули ты выебываешься тут!? бери джангу и иди нахуй, волшебства ему много блять.
>>932620Ну она на серваке крутится. А скрипт запускается на другом сервачке.
>>932632ты мне втираешь какую то дичь!? как такое вообще может быть?! что бы база данных на другом сервере работала!!!!???!??!
>>932633Ну, блядь, ты знаешь что такое разные энвайрменты? Вот база на одном, а скрипт на другом. Мне, блядь, данные оттуда вытягивать надо, фирштейн?
>>932634Ну так бери любой модуль для работы с мускулом и подключайся, в чем проблема то?
>>932635Так я спрашиваю, какой каноничный?
>>932634чоза экскваерты!?
>>932634отпишись потом, мне тоже надо
>>932641https://stackoverflow.com/questions/372885/how-do-i-connect-to-a-mysql-database-in-python
>>932637https://dev.mysql.com/doc/connector-python/en/Достаточно канонично? Ты за 7 часов мог бы уже и сам нагуглить.
>>932642а на русском есть!??!? чо ты мне лажу какую то опять втираешь!!??! или это не ты!?!??! вы чо меня дрочите!!?!? вы на каком серваке щас подъеду!!
>>932645>а на русском есть!??!? Пизда тебе, тварь руснявая.
>>932643Сука, хули через пип нельзя?
>>932634э мне тоже за данными! чо думаешь ты один щас тут без данных сидишь!?
# / Стерильные / bin / питонЧастный MayskldabDB = Mayskldabkconnect (имя хоста = "локальный" # Kmu lsaquo, Nthvi Jmbiri локальныйVsuta = "Ohne" # Dzina Lolovera LnuPsswd = "Megajonhi" # Acinsinsi СтатьяDB = "Johydb") # Dzina L'Zkfukufuku# Muyenera Kulenga Cintu Cholojera. Изо Tiani# Ину Kudzpereka Mf ँ так Onse Muyenera= Кубок Dbkcursor ()# Ntcito брутто Onse MukufunaKrkexecute ( "Ква Yor_tebl_nam Snkni *")Виолончель # Sindikizani Onse приходят Oynba Mizre OnseКва Mzere Krkfetchall бесплатно ():Kusindikiza Mzere [версия]Dbkclose ()
>>932058>твистед>2017
>>932648Программирование это явно не твое, ты даже необходимую информацию найти не можешь.
>>932654та нахуй ты прикладуеш?
>>932653А что нынче в моде?
>>932653Да мне тестовое прислали.>>932677asyncio, tornado, nodejs.
https://2ch.hk/b/res/146688377.htmlПОМОГИТЕ, НУЖНА ПОМОЩЬ!ЛЕНЬ ПЕРЕКАТЫВАТЬ СЮДА
>>932677Хассль.
>>932226>вместо божественных библиотек. А, то есть для тебя "написать скачивалку с ютуба" это "заимпортить youtube-dl и вызвать его"? Так любая задача в одну строку будет решаться.
>>932402http://ideone.com/964NW7Какие-то странные предложение в треде были, вручную индексы через finditer считать, лол.
>>932392Ну так, блядь, расскажи про свои собесы по питону. Что тебя там такого охуенного спрашивали?
Шановні друзі, сейчас будет вопрос из серии "больной ублюдок".В Pycharm Edu есть возможность цеплять курсы из сторонних источников и со спокойной душой их проходить. Вот только не ясно где эти курсы искать кроме стандартных и существуют ли они вообще? Помогите зеленому хорошими линками.
>>932929>Pycharm EduБесполезная хуйня.
Значит есть утилита psexec, с помощью нее я подключаюсь удаленно к компьютеру в локалке запуская шелл.Нужно автоматизировать через процесвс через 3й питон.Проблема в том, что os.system(#команда) после выполнения данной команды закрывает окно, а последующие вызовы не будут относиться к процессу удаленного подключения.Как мне сделать так, чтобы последующие команды относились к процессу с запущенной удаленной сессией?Используется шиндовс
>>932953Тогда давай линк на полезную хуйню
>>933025http://python.orghttps://github.com/search?o=desc&q=python&s=stars&type=Repositories&utf8=%E2%9C%93https://www.google.comhttps://stackoverflow.com/
>>933027Ты хоть понимаешь что ты максимум тупой копипастер?
Короче, я со всем разобрался сам, идите нафиг>>932058-кун
>>933065Себас, школота.
>>933065Cпасибо скажи. Бесценный опыт.
Хелпуй двощ. Как написать автоответчик вк? С апи вк чутка работал, но вся проблема упирается в то, что я не знаю, как вечно проверять сообщения. Например, мне на "привет" от друга надо отвечать "привет". Мне надо будет весь свой код в бесконечный цикл пихать и на хостинг или как?
>>933189Бесконечный цикл или cron
>>933189а там шо хендлера нету сообщений никакого? не может быть. есть же боты вконтакте всякие
PyCharm открывается около 10 минут. Внизу идет полоска с Updating Skeletons for python36 Как фиксить это?
>>933197Купить железо по-мощнее.
>>933202 Неужели 4гб оперативы и i3 неподходит для написания лаб и изучения Django? Обожаю Java
Есть сайт с кучей страниц, на которых есть изображения. Надо выкачать все изображения с каждой страницы. В какую сторону гуглить и копать, чтоб это сделать?html отдаёт какую-то хуйню, в которой нету изображений со страницы вообще.
>>933210Кинь html
>>933211http://dota.reactor.cc/tag/Dota%2BArt/new
>>933213Помимо всего прочего, там каждая страница открывается какого-то хуя в новой вкладке, если клоцать "Дальше". Можно, конечно, задать последнюю страницу и подставлять аж до первой в url и парсить каждую, но может есть другой способ?
>>933213<div class="image"><a href="http://img0.reactor.cc/pics/post/full/Dota-Art-Dota-%D1%84%D1%8D%D0%BD%D0%B4%D0%BE%D0%BC%D1%8B-Mirana-3661164.jpeg"Через BeautifulSoup парсишь все jpeg с классом image
>>933219http://pastebin.com/fJENeCFdЕсли сделать get('src') для нулевого элемента в response? то работает, а если в цикле, то нет. Хули?
>>933240Уже и для 0 не работает, сцука.
>>933210через lxmlfrom lxml.html import fromtstringimport requestsdocument = fromstring(requests.get(url).content)image_urls = documnt.xpath("//div[@class='image']/a/@href")немного набухан
>>933240Я уже давно ничего не парсил. По памяти просто посоветовал как делал я раньше. Может кто-то умелый тебе подскажет позже с нюансами.
>>933258>>933256<a class="prettyPhotoLink" href="http://img1.reactor.cc/pics/post/full/Dota-%D1%84%D1%8D%D0%BD%D0%B4%D0%BE%D0%BC%D1%8B-Luna-the-Moon-Rider-Dota-Art-3645677.png" rel="prettyPhoto"><img alt="Dota,фэндомы,Luna the Moon Rider,Dota Art,Arcan-Anzas" height="1265" src="http://img1.reactor.cc/pics/post/Dota-%D1%84%D1%8D%D0%BD%D0%B4%D0%BE%D0%BC%D1%8B-Luna-the-Moon-Rider-Dota-Art-3645677.png" title="Dota,фэндомы,Luna the Moon Rider,Dota Art,Arcan-Anzas" width="811"/></a>получается массив таких элементов. Как залезть сюда еще в img? get-ом могу вытащить только то, что идёт до <img?
>>933263>get-ом могу вытащить только то, что идёт до <imgЕбать ты лох!
>>933268Да...
>>933263 Можно сделать так, чтобы все охуелиhttp://pastebin.com/VLYSn6df
>>933275что это за хуйня? Мне надо добраться до тега img, который вложен в <a> и всё. Нахуя ты это высрал?
>>933263image_urls = documnt.xpath("//div[@class='image']/a/img/@src")
>>933278http://pastebin.com/6DMrf11xСделал так.
>>933210>>933210>аёт какую-то хуйню, в которой нету изображений со БРО вот http://pastebin.com/AeDB14L4
>>933189event based architecture
>>933280мамке привет
>>933283Заебись, но не совсем. Я выше запостил, что у меня получилось. Дело в том, что без ватермарки изображения лежат в <img src>, а не в <a>
>>933290http://pastebin.com/w5xFxjmf код не тестил, должно работать
>>933312Понял посыл, анон. Добра.Другой вопрос теперь. На сайте дохуя страниц. Единственным выходом я нашел - сгенерить массив чисел от 1 до 649 (последняя страница сейчас) и подставлять в линку при парсинге. Возникает проблема, как сделать так, чтобы скрипт автоматически начинал с последней страницы, а не приходилось ручками идти на сайт и смотреть, какой номер сейчас последний?
>>933321>Парси пагинатор <div id="Pagination" class="pagination"><div class="pagination_main"><span class='current'>Назад</span><div class="pagination_toggler">...</div><div class="pagination_expanded"><span class='current'>650</span><a href='/tag/Dota%2BArt/new/649' class=''>649</a><a href='/tag/Dota%2BArt/new/648' class=''>648</a><a href='/tag/Dota%2BArt/new/647' class=''>647</a><a href='/tag/Dota%2BArt/new/646' class=''>646</a><a href='/tag/Dota%2BArt/new/645' class=''>645</a><a href='/tag/Dota%2BArt/new/644' class=''>644</a><span>...</span><a href='/tag/Dota%2BArt/new/2' class=''>2</a><a href='/tag/Dota%2BArt/new/1' class=''>1</a></div><a href='/tag/Dota%2BArt/new/649' class='next'>Дальше</a></div></div>
>>933326>>933326> <a href='/tag/Dota%2BArt/new/649' class='next'>Дальше</a></div></div> Получается тут всегда будет линка на последнюю страницу? Охуенно, анон!
Ананасы,в чем сакральный смысл обязательного добавления запятой в кортеж с одним элементом?
http://www.pgbovine.net/python-async-io-walkthrough.htm
>>933448>Ананасы,в чем сакральный смысл обязательного добавления запятой в кортеж с одним элементом? В противном случае любое выражение со скобками становится неотличимо от кортежа. Как пример:x = (a + b) + (c + d)x == (a + b, c + d) # True
Кто там в прошлом треде советовал VSCode? Пара минусов для меня: нет минимапы, нельзя открыть несколько директорий в одном окне. Всё остальное действительно лучше, чем в атоме. Даже не знаю что теперь делать, очень привык к карте.
>>933515Сука, дебил, поставь пайчарм. Для тебя же делалось.
А хотя похуй, в феврале всё зделают: https://github.com/Microsoft/vscode/issues/20021>>933517Да иди ты нахуй со своим пичармом.
>>933518Пердоля, блядь, не пытайся искать оправдания, чтобы не писать код.
>>933321почему нельзя сделать цикл, который проверяет число страницы на доступность? Пусть проверяет от 1 до, скажем, 1000, при ответе "не найдено такой страницы" пусть останавливает цикл и выдает номер предыдущей доступной, допустим 998. и этот номер возвращает в главную твою часть кода.
>>933312А закрывать файлы кто за тебя будет?>>933448Иначе ты кортеж с одним элеметом не создашь, потому что именно запятая делает элемент кортежем, а не скобки.(5) == 5(5, ) != 5>>933489сам-то понял, что написал?>>933519Заметна польза этого пайчарма тут -> >>933197 , >>933204>>933204При использовании нормального редактора этого более чем хватает.
>>933567>Иначе ты кортеж с одним элеметом не создашь,Ну, не считая побочного случая с tuple(elem), когда elem это строка с одним символом, или при обрезании уже существующего кортежа до одного элемента. А то набегут же сейчас.
>>933555Можно, тут на всё воля программиста!
>>933567>сам-то понял, что написал?А то! Это пример неоднозначности, которая бы возникала, если бы грамматика допускала запись кортежа без запятой.
Аноны, подскажите туду-лист для пайтон вкатывальщика. Имиджборда, твиттор и т.д.
Анон, есть такие сервисы, которые оценивают твой говнокод, и советуют, где и что можно улучшить? Я говорю, конечно же, про реальных людей, которые могут пояснить. Говнокода не много, скрипты на 150-200 строк, примерно.
>>933645Пиши асинхронную имиджборду которая способна держать 5к запросов в секунду. Классика жи.
>>933660А почему именно асинхронную?
>>933728пижже
>>933728И еще, обязательно на вебсокетах и монгой.
Поясните за синтаксис c = Category.objects.get_or_create(name=name)[0]Что значит [0] в конце?
>>933736Нулевой элемент списка.
>>933736>get_or_create>Returns a tuple of (object, created), where object is the retrieved or created object and created is a boolean specifying whether a new object was created.В документацию заглянуть лень?
>>933734вебсокеты же заебись, не?
>>933768Тока сложно. В джангу вон какие-то каналы завезли, даже не смотрел еще.
Sup, анон. Не знаю, насколько это актуально здесь и взлетит ли, но я запилил группу в телеграмме по питону. Туда зазываются все желающие вкатиться и вкатывающиеся, как и я, для совместного поиска решений. Я пока практикуюсь писать ботов для телеграмма, там же их можно и тестить. В общем, всем пис.https://t.me/pythonach
>>933883Окей, гугл.
>>931572 (OP)Поясните в чем смысл подобной конструкции:Class Govno: ..... ..... ..... def _huy(self, pizda): .... def huy(self, pizda): return _huy(self, pizda)Неоднократно встречал подобное, в том числе и в серьезных проектах.
>>933916Интерфейс и его реализация
>>933921Ну конкретно тот пример бессмысленный. Я еще понимаю, если бы там был property или еще чего.
Как сделать так, что бы при каждом запуске фласк сервера появлялся новый сервер? Например, запустил в терминале сервак, хостится на локалхост:5000. Я хочу открыть еще один терминал и запустить сервак, но что бы он был отдельным, а не тем же самым(на локалхост:5000). Только вкатился во флакс, сори за хуевый вопрос.
>>933939Порт укажи, дебич, хех.
Ребят, как работать с Json ?Не могу никак достать значения из ключей src и т.д.как вообще их оттуда дергать ?
>>933968Пиздец.
>>933968Также, как и со словарями.Залей жсон куда-то свой и скажи, что тебе надо достать именно. Значения можешь стереть.
>>933974http://fex.net/#!770932802292Мне нужно просто доставать ссылки из всех srcМне хотя бы понять как достучатся в словарь который в словаре, исходя из моего Json`a
Поясните за django. Только в таком стиле: html это сруб бани, css это то как будет выглядеть баня.
>>933968В хаскеле бы делал, все легче.
>>933989…а джанго это картонка, на которой бомж спит возле бани.
>>933968>>933980Непробивной ты просто пиздец.for i in json:print(i['photo']['src'])
>>933946И как можно максимально безкостыльно сделать автоматический подбор порта? Не буду же я в 10 терминалах 10 разных портов прописывать.
>>934044Скриптом?
>>933851чего тут сложного?# сюда приходят сообщения@channel_session_userdef ws_recieve(message): # получили тело сообщения msg_content = json.loads(message.content['text']) # отправили ответ в текущий канал message.reply_channel.send({'text': 'slojno slojno blyat'}) # добавили текущий канал в группу Group('te_komu_slojno').add(message.reply_channel) # отправили в группу # взяли юзера джанго username = message.user.username Group('te_komu_slojno').send({'text': 'we have a new member! {}'.format(username)})по моему проще некуда.
>>933916Так правильнее для наследования.
>>933921двачую
>>933916только зачем имплементация в самом интерфейсе? не правильней тогда сделать так?def huy(self, pizda):raise NotImplementedError('huy must implement in subclass.')думаю так тупо удобней кому то было вот и зделол, остальные поглядели и тоже зделоли и понеслась...
>>934090Ты какой-то странный наркоман, я тебя боюсь.
>>934092чо сразу наркоман? везде так делаю, сразу видно если проебался с реализацией
ну и нитерфей он на то и интерфей что бы декларировать свои методы, а реализация должна быть вовне.
>>933996>>933968Я вернутсяи сделать "хуйня"В общем эта дич у меня так работает:стучусь в словарь по индексу 1, полученое сохраняю в number_photo и так дальше пока не дойду к фото, а там уже дергаю с нужных ключей их значения Суть в том что бы получить самый большлй размер фото который есть в вк, по этому там и это блок из иф - елифНО, вот там сперва стучусь по индексу что бы все остальное получить)этот индекс должен быть как строкой передаваться "1"И вот допустим мне нужно 200 фото потянуть в цикле через всю эту конструкцию То есть в Json вернуло 200 ключей и нужно каждый из них прогнать и потянуть ссылку, но как ?бля,кароч, вы поняли
>>934114сука ты шо ебанутый нахуй блядь
Помогите конченному даунуr = s.post(URL, auth = HTTPBasicAuth(USERNAME, PASSWORD)) following_error_occurred: "Произошла ошибка", server_did_not_respond_in_time_try_again: "Сервер не ответил вовремя. Пожалуйста, попробуйте снова.",
>>934129> Пожалуйста, попробуйте снова
>>934121а шо, не видно ?
>>934135ты сука хуйни нагородил пошел на хуй блядь
>>934114Больной ублюдок ты что творишь? Ты хоть книжки почитай чукча бля.
Аноны, есть кодdigits_pattern = re.compile(r'^[0-9]+ [0-9]+$', re.MULTILINE)try: matches = re.match(digits_pattern, query.query) except AttributeError as ex: return num1, num2 = matches.group().split()нужно переделать его так, чтобы проверялась одна переменная, то есть грубо говоря, чтобы была только num1. Помогите пожалуйста
>>934114Лол, у меня куски кода остались от одной попытки сделать Я и не заметил)) 0Все равно они не на что не влияли А по поводу извращенного доставания из словаря, то по нормальному оно не хочет, максимум что получается то получить номер фото и photo/type
>>934176digits_pattern = re.compile(r'^[0-9]+', re.MULTILINE)try:matches = re.match(digits_pattern, query.query)except AttributeError as ex:returnnum1 = matches.group()
>>932100Анон, ответь вновь, пожалуйста. Хотел тебя поблагодарить, я много раз перечитывал, и только сейчас дошло до меня что именно ты имел в виду
>>934099Но это же питон. Там даже в основных гайдах от создателей говорят, что не надо делать obj.get('x'), а просто obj.x
>>934362Ссылку, где так говорят.
>>934180>!=None>NameError, если все src_* None>AttributeError, если number_photo или photo NoneИ это на таком простом примере. Уныло.
>>934367Не знаю, давно где-то видел.Разве это не логично звучит? Зачем тебе интерфейсы в питоне?
Аноны, у вас нет ощущения, что на нашем любимом языке стало меньше вакансий? Мониторю хх, и что-то одни и те же вакансии по кругу, а новых очень мало, если машоб в счёт не брать.
>>934371Не знаю. Может кризис сказался?
>>934367>>934362>obj.get('x'), а просто obj.xВо-первых, нахуй велосипеды, если есть getattrВо-вторых, getattr(obj, 'x') имеет смысл, если название аттрибута заранее неизвестно, либо если хотим сделать getattr(obj, 'x', 'default_value')Для всех остальных случаев есть геттеры/сеттеры
Аноны, как из вконтактика спарсить название песни, которую слушает пользователь?
>>934379Это вообще другой вопрос. Хотя может я путаю.obj.get - это я имел в виду реализацию интерфейса. Т.е. обращение к полям объекта. И говорю что в питоне это не нужно. А getattr - это полезная штука.
>>934380Смотри в инспекторе браузера html код, парси через beautiful soup если сможешь получить страницу. Или посмотри документацию vk api.
>>934380Без задней мысли.
>>934371Помониторь другие, меня на Моем Круге заебали уже своими молодыми активными коллективами использующими асинхронный микросервисный TDD в корпоративном смузи спортзале.
>>934384Через urlopen(site_name).read() получаю страницу, но суть в том, что она отличается от того, что вижу в инспекторе браузера.
>>934388А ты получай страницу через вкапи.
>>934388Потому что контакт не дурак, он не дает всяким роботам качать. Вдобавок там же через JS рендерятся страницы и тд. Конечно же ты не получишь такую же страницу. Тут либо надо научиться маскироваться под человека и исполнять джаваскрипт, или да, через апи.
>>934386А я как раз оттуда удалился из-за слишком назойливых частных хантеров.
Сап, программач.Нужно запилить веб-сервис на питоне в качестве проекта по учёбе (студентота). Главное, чтобы были реализованы классы и использовался фреймворк (желательно джанго). Веб-сервис может делать что угодно на ваше усмотрение, главное, чтобы было прокомментировано и понятно.Кто сможет помочь за символическую плату и очень срочно - мыло [email protected]пишите, что из программача
>>934486"Символическую плату" принято указывать явно.
>>934486Да, пиши сколько готов заплатить, а мы посмотрим. Я в принципе готов за денек какую-нибудь крудо-фигню запилить. Только учти, мой час в офисе стоит 500 рублей, я конечно с тебя столько не возьму, но имей в виду, когда будешь прицениваться.
>>934558Я наоборот на фрилансе больше беру, чем в офисе получаю.
>>934563Вот я бы тоже не против перейти на фриланс.Хотя я сейчас считай удаленно работаю. Появляюсь в офисе раз в неделю где-то на несколько часов. Но это полуофициально, поэтому не считается.
>>934558>500 рублейВзоржал с нищей спидерахи, бббгггее. работающей за восемь баксов как мойщик сартиров в испании, хехе. До чего нищий народишко, бббггее.
>>934769Еще один забыл таблетки принять и спутал pr с po. И откуда такие в моем уютном питон-треде?
Питонач, подскажи как можно оптимизировать приблизительно такой метод выборки, имея значение search_material?http://pastebin.com/JvVZRXzDЕсть родительский класс, и есть дочерние классы, у некоторых из них есть поле material. Надо вернуть список дочерних классов, у которых material равно входящему параметру search_material.Сейчас тут крайне медленно такой метод работает - выгребает все элементы родителя, потом итерируется по ним и складывает по одному. В итоге перебор 1,5 кило объектов родительского класса занимает 7 секунд. Это овер дохуя при таких малых объемах.Как составить правильно запрос, что сразу одним кверисетом вытащить все дочерние классы, у которых значение material совпадает с search_material?Через prefetch_related не получилось, это, кажется, не совсем то. Пробовал через http://django-model-utils.readthedocs.io/en/latest/managers.html#inheritancemanager select_subclasses() , но там FieldError: Cannot resolve keyword 'material' into field.когда я пробую подставить значение search_material
>>934894Надо вернуть список объектов дочерних классовсамофикс
>>934246А на что ответить-то?>много раз перечитывал, и только сейчас дошлоБыли б тут все такие, которые думать пытаются, а не как этот наркоман с json'ом из вк, всем бы лучше жилось.
>>934894http://stackoverflow.com/a/16871844/1356067
>>934958может иногда на возмездной основе будешь мне подсказывать что-нибудь?
>>934968Спасибо, анон, то что надо было
>>934992Возмездно предполагает некие обязательства, я так не умею и не могу. Лучше безвозмездно в треде (я тут постоянно, если только товарищи Мао и Абу совсем уж не пойдут против меня) или на крайний случайно на почту, по мере возможностей отвечу.
Кто-то спрашивал про ту-ду лист на джуна. Нашел такое:https://stackoverflow.com/questions/2573135/python-progression-path-from-apprentice-to-guru
django.core.exceptions.ImproperlyConfigured: Requested setting DEFAULT_INDEX_TABLESPACE, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings.Как фиксить?В manage.py shell пишуfrom django.conf import settingssettings.configure()ПолучаюRuntimeError: Settings already configured.
>>935083Разобрался. Подгружал настройки позже импорта моделей
Привет ИТ-Боги.Решил вкатиться в программирование чтобы доказать себе что я не тупой. (26 лет, думаю надо как то мозг нагружать)то есть нет цели получать 300к в секунду через 3 месяца.Почитав отзывы решил начать с Питона.Из опыта ранее только писал игры на QBasic где то в пятом классе. (в кружке) , единственное что помню что тогда мне это очень нравилось.Сейчас начал читать Лутца "Изучаем Питон"Годная книга для старта? Нужно ли читать что-нибудь еще параллельно?
>>935094Лучше наебни A bite of Python или курс на codeacademy и делай что-то. Пока ты дочитаешь Лутца, уже забьешь давно
Аноны, как сделать так, чтобы при использование функций: bin(), oct(), hex(). Небыло 0b, 0x и прочих префиксов, перед нужным результатом
>>935106result[2:]
>>935097То есть не мне одному лутц показался занудным?
>>935109А кому покажется не занудным читать пол тысячи страниц основ, которые можно выучить за один день в другом источнике?
>>935110Открыл Bite of Python всего 130 страниц.У Лутца я прочитал 130 страниц только введения и узнал как запускать Python через UNIX, про сериал Monthy Python и про все его существующие модификации.Спасибо анон!
>>935113> Открыл Bite of Python всего 130 страниц.Там охуенно всё сжато и по полочкам, но мне не хватило, чтоб понять всё полностью. Но для старта - збс.
>>935109Лутц — параша редкостная. Я даже Dive Into Python не дочитал до конца, всё стало понятно и я начал писать свои первые опердени. Позже, с удовольствием прочитал весь python cookbook, вот это заебись, хорошо зделали.
>>935115> python cookbookа на рюзком есть?
Как лучше хранить всякие ключи API и другую секретную информацию, которая захардкоджена?
>>935116Тебя огнём надо обработать.
>>935118Блядь писал уже иысячу раз про переменные окружения и даже ссылки давал.
>>935127Я только вкатился, сори.
>>935127Добавил бы в фак.
>>935219Этот фак родом из 2015, аккаунт неактивен, аппрувить коммиты некому.Когда я предложил собрать реально недостающую и новую инфу, в частности по асинку в 3.5, то стало примерно ясно насколько это невозможно при текущей аудитории.Сам же я не осилю писать полный гайд, т.к у меня опыта и знаний банально меньше чем у многих. Я пятый месяц прерывисто изучаю.
>>932235Нет
>>935248Давай что ли вместе попробуем составить новый фак.Все лучше, чем этот.
>>935252Ну так форкни тот фак, да подправь.
>>935252Пиши что можешь предложить.Я могу предложить:- Установка интерпретатора в линукс, использование нескольких версий, установка свежих версий которых нет в репах убунты.- Новые книги (пьюр питон, джанго) из 2к16: уровень, полезность, наличие воды, наличие перевода, стоимость...- Бриф фреймворков для веба и не для веба.- Несколько источников с гайдами.- Несколько видеокурсов (понадобится коллективное скачивание через генератор премиум линков, т.к лежат на обменниках разбитые на много частей).- Бриф по Git.- Бриф по pip.Ну что-то еще может.
>>935258>Установка интерпретатора в линуксОрнул.
Кто вкатывался джанго джуном на удаленку, запилите свои стори. Что спрашивали, сам процесс работы? Интересно, насколько реально джуном удаленно работать.
>>935288>вкатывался>вкатывался>вкатывался
>>935289А по существу что сказать можешь?
>>935291Что нужно верно использовать русский язык.
>>935293Вот уж не ожидал на имиджбордах подобное услышать.
Гайс, прошу код ревью. Наговнокодил тут немного имиджборду, собственно есть куча вопросов. Вот ссыль https://github.com/YraganTron/Dvach (да репозиторий через жопу создал). Собственно нужно ли указывать комментарии к коду?По факту у меня 2 большие вьюхи, где я много чего делаю, выглядит это, мягко говоря, плохо. Есть мысль попробовать разбить на большее кол-во функций, но как-то оно не очень разбиваться то и хочет, ну и попробовать переписать все на классы(все равно нужно понять, как классы работают). Как лучше решать эту проблему?Достаточно ли такого кода, чтобы прикладывать его к резюме? Или нужно больше функциональности? На данный момент реализовано примерно следующие-Подсчет пользователей через сессии-Увеличение фото по клику-Расчет score для тредов(тут же сага и вывод по score)-Динамическая загрузка страницы-Добавление идентифицированных ответов с tooltip(тут беда правда одна есть, скип тултипа происходит только после клика по body)-Модераторы(криво и через админку, но по факту они все же есть)-Фиксированная форма, которую можно таскать за ручкуВ планах докрутить:-Верхняя панель у треда(обновление, автообновление и т.д.)-Поиск-Дроп зона для загрузки файлов-Возможность оставлять почту и соответственно возможность по кнопки бросать туда письма
>>935453>Достаточно ли такого кода, чтобы прикладывать его к резюме? Я бы показывать такой код постеснялся кому бы то ни было, не то что к резюме прикладывать.
>>935487Ну, а что именно не так?
>>935453>Достаточно ли такого кода, чтобы прикладывать его к резюме?У тебя там нет ООП, юнит-тестов, работы с настоящей базой данных, gitflow. В общем, нет даже элементарных вещей, на которые смотрит потенциальный работодатель. Зато, прямо сразу, репозиторий встречает кучей лишнего закоммиченного говна.
>>935453Я может и ебанутый, но это пиздец какой-то блядь, где коменты? Где хоть какой-то порядок среди сотен папок? Как эту ебань вообще потом поддерживать? Может стоить сделать что-то поменьше но с качеством кода получше? Наебашить туда декораторов,рекурсии,регулярок,асинхронности ну специфических либ заюзать, прокоментить все, ну и руководствоваться pep8. И тогдааааа, можно с уверенностью и без стыда его выставлять на показ.Удачи тебе, антош.
>>935495Ну насчет кучи говна я предупреждал, все-таки в 4 утра все делал. Тогда у меня есть пара вопросов1)Я правильно понимаю, что добавление ООП это переписать просто проект на классы? 2)Не совсем понимаю, что такое работа с настоящей базой данных?(накатывать какой-нибудь мускл и показать, что я умею работать на нем через питон?)3)На какие элементарные вещи смотрит работодатель?>>935514Мне казалось там был порядок среди папок...Под асинхронностью ты имеешь в виду торнадо?
>>935519>1)Я правильно понимаю, что добавление ООП это переписать просто проект на классы? Class based views. У тебя во вьюхах говнокод лютый, все равно переписывать.>2)Не совсем понимаю, что такое работа с настоящей базой данных?(накатывать какой-нибудь мускл и показать, что я умею работать на нем через питон?)Хз, что тот хер имер вииду, один хрен через орм-ку работаешь. Ну ебани например редис для хранения сессий и кэша.>3)На какие элементарные вещи смотрит работодатель?Начни с внешнего оформления, почисти репозиторий от говна, добавь документацию и тесты.
Веб/десктоп.C# или Питон?
Сап двачуны. Подскажите, какая структура должна быть у проекта python? Часто на гитхабе встречаю всякие setup и build файлы по мимо соурс кода.
>>935573http://docs.python-guide.org/en/latest/writing/structure/
Отревьювьте мою либу https://github.com/KOLANICH/RichConsole
>>935573http://docs.python-guide.org/en/latest/рекомендацию про тесты забудь, надо не импортить, а жёстко вставить, чтобы работало
>>935519Под асинхронностью я имею ввиду asyncio.Ну и там нет порядка, кучи всякого говна лежат в непонятно как(хотя может тому что это джанго, но на фласке у меня так глаза не разбегаются).p.s. В любом случае тебе дали годные советы - действуй)
>>935611Пс, парень, а зачем ты всё в функции позагонял? На сколько я помню так лучше делать когда участок кода юзается больше 1-2 раз, или же он сликом огромен и будет неудобно читать его в основном теле файла и тогда его выносят, а то у тебя порой попадаются такие йобы как:>def yoba():>____....>____....>... = yoba()Не кошерно.Ну а так в принципе нормально, комменты есть, всякие плюшки def __yoba__(self) юзаешь(забавно, давно не видел так много их в одном месте, что-то недолюбливают их).Для большей структурированности можешь ещё по файлам распихать и к каждому файлу развернутое описание(если вообще это логически возможно).p.s. Поясни за тесты, что и как они тестят.
Аноны, возможно вопрос задавался не раз, но ответ я так и не нашёл на него. Есть прожект на Flask, на странице есть несколько форм, к каждой форме есть своя кнопка отправки данных, как мне вычислить какая из форм отправляет данные? Или же каждый раз проверять ПОСТ запрос и то какие данные в поля форм ввёл, и если поля пустые - значит форма не та, а если заполнены - то что нам надо.
>>935625>Пс, парень, а зачем ты всё в функции позагонял? На сколько я помню так лучше делать когда участок кода юзается больше 1-2 раз, или же он сликом огромен и будет неудобно читать его в основном теле файла и тогда его выносятДля самодокументации. Имя функции - это её комментарий, даёт высокоуровневую инфу о том, что делает код.>Для большей структурированности можешь ещё по файлам распихатьТам нечего распихивать, один маленький монолитный модуль.>p.s. Поясни за тесты, что и как они тестят. Один тест тестит неявные зависимости между родителем и детьми (их там и не было, но когда у меня прога, юзающая либу, неверно заработала, я решил это проверить).Второй тест (testReferenceCases) не работает, потому что я поленился его реализовать. Там нет ни единого ассерта, это должно было тебя насторожить.Ещё тебя должно было насторожить хранилище - доступ к нему слишком неудобный.
>>935636> Там нет ни единого ассертаТому и спросил, как-то странно было не понятно.>Ещё тебя должно было насторожить хранилищеТыкни носом где это и чем не удобно
>>935638на самом деле там есть ассерт, просто он в циклепроверяет некоторые частные случаи>[code]cyan.Fore=groups["Fore"].stylesDict["cyan"][/code]должно быть просто[code]cyan.Fore=groups.Fore.cyan[/code]
Ещё с тревисом и пипом какой-то пиздец, заебали блять. На тревисе какая-то хуйня с pypy3, все билды фейлятся, как и большая часть билдов cpython под макось.Чтобы в пип деплоить на тревис надо класть пароль от аккаунта, что стрёмно, так как авторы pypa не осилили OAuth.
>>935611Что-то ты капитально въебал кодстайл, почитай pep8 обязательно
>>931572 (OP)Котаны, вопрос по оформлению.Что на практике нужно писать в списке документации. Только описание функции и двумя строчками ниже список параметров с описанием этих параметров?Также, есть ли в конторах требования по комментариям? Или каждый лепит комментарии в меру своей испорченности? Судя по гитхабу, многие считают нормой в нескольких словах объяснить суть того, что они делают, а потом написать огромную стенку текста без единого пояснения.
>>935662Вроде как пеп8 говрит, что сначала идет очень короткое описание функции, пустая строка и подробное описание
>>935647pep8 - дерьмо, придуманное и принятое в высшей мере странными людьми. Одни обязательные табы чего стоят. Я буду делать по-своему, мой стиль оформления лучше и по моему наблюдению он весьма широко поддерживается инструментами, а значит довольно популярен.
>>935677*пробелы
>>935677тем не менее, все пепы/прочие стандарты придуманы для того, чтобы им следовало как можно большее колво людейвпрочем, если ты работаешь один - можешь класть на стандарты все, что угодно
Аноны, ни у кого нет кода для перевода из десятичной системы измерения в одиннадцатиричную, вообще в любую, где есть не только цифры. Буду очень признателен, хотя бы за помощь как это сделать
>>935683Почитай документацию, а именно про int()
Анон,посоветуй чё почитать чайнику по питону? Уже неделю вкатываюсь, изучил уже циклы, функции и то не до конца, кое как списки,и там ещё по мелочи.
>>935677Чтоооа? Там наоборот написано, что табы юзать нельзя, лучше пусть будут пробелы. Вообще это не проблема ибо любой текстовый редактор умеет по нажатию на таб подставлять 4 пробела (ну или сколько захочешь). Вообще там вполне разумные правила, например, ограничения длинны строки или пробелы между арифметическими операторами.
>>935682>тем не менее, все пепы/прочие стандарты придуманы для того, чтобы им следовало как можно большее колво людейПринцип простой - не нравится стандарт, по которому код в моей репе - либо не коммить, либо конверти, в исключительных случаях я сам конвертну. Чтобы люди не заморачивались, в проекте лежит .editorconfig. Те странные люди, что юзают pep8 могут продолжать жрать говно, придёт время, сами поймут.
>>935693значит так. Пробелы зло, любой репо с пробелами - это боль. Люди должны перестать жрать это говно. Я не собираюсь ни под кого прогибаться, в репе лежит эдиторкогфиг, он всех упоротых адептов пробелов должен поставить на место, так как в нём жёстко прописано, сколько пробелов занимает таб. На самом деле это похую, таб это гибкая фича, сколько настроишь - столько и будет занимать, чисто дело вкуса, таб удовлетворит каждого.
>ограничения длинны строкине нужно, все редакторы умеют в перенос
>или пробелы между арифметическими операторами.исключительно дело вкуса и ситуации, в некоторых случаях выглядит лучше с пробелами, в некоторых пробелы лучше убрать для более интуитивно-понятного кода
короче, по-видимому надо запилить свой стандарт оформления кода
>>935706Не будем устраивать срач из-за этого, а то я сразу вспоминаю серию из Silicon Valley
>>935707Кстати гитхаб не умеет
>>935634Гугли " flask multiple forms on one page". Увидишь ответы на stackoverflow про то, что в формы можно передавать параметр prefix, так ты сможешь их различать.
>>935747Спасибо антош, выручил:3
Дарова бандиты, нужна подмога.Есть проект вида:dir1:|-->dir2:|----|---->testmod.py|--->test.pyКак мне в test.py импортировать testmod.py на стадии запуска программы, т.е. не ебясь с system PATH до запуска программы, в идеале и не редактируя system path во время работы.И как вообще джанго импортирует модули?Спасибо за ответы
>>935773В dir2 положи файл __init__.py В test.py в импортах ебани from dir2.testmod import *
>>935784>>935784Ты чертов ГЕНИЙ
>>935690Хоть одну книгу beginner level прочитай до конца. Как можно изучить циклы наполовину? Советую Простой питон.
Халп, tweepy все время возвращает 403 ошибку. Я уже сократил код до 1 твита, но эта ошибка продолжает ебать мозг. Что в принципе может быть не так?consumer_key = xxx'consumer_secret = 'xxx'access_token = 'xxx'access_token_secret = 'xxx'auth = tweepy.OAuthHandler(consumer_key, consumer_secret)auth.set_access_token(access_token, access_token_secret)api = tweepy.API(auth)tweet = 'Hello, world!'api.update_status(status=tweet)
>>931572 (OP)можно как-то элегантно решить следующую задачу? На вход подается строка1 если эта строка1 является подстрокой строки2 И отличается от подстроки2 на >= 1 и <=4 символов, то функция выдает True.Я конечно могу сделать список из подстрок2 длиной строки1 и потом измерять расстояние Хамигнтона, но может быть есть более красивый способ?
>>935994https://en.wikipedia.org/wiki/Levenshtein_distance
Джанганы, а вот нужно уведомлять юзеров отписавшихся в определенной теме форума о новых сообщениях в этой же теме.Как это проще||правильнее сделать? Куда хоть рыть?
>>936027Ну хотя бы на уровне циферки "новых сообщений Х"Прихуярить модель Read со всеми открытымы когда-то темами и пересчитывать все посты каждое обновление страницы как-то тупо, наверняка есть другие возможности более изощренные
>>935908>>935908>>935908
>>936035на новый пост взять всех отписавшихся в теме и отправить им уведомление. а как еще то и что в этом глупого?
>>936027Через сигналы
>>936149чё за сигналы?
>>936213https://docs.djangoproject.com/en/1.10/topics/signals/
>>935115Ты просто умный. Я вот тупой, мне надо по 10 раз одно и то же разжевать и только тогда дойдет.
сап, питонач.у меня не работает ctrl+a, ctrl+c, ctrl+v в виджете Text из пакета tkiner.это я тупой (очевидно) или что происходит?
>>936482Раскладку клавы на английский переключи.
>>935561Какой ответ ты ожидаешь в питон-треде? шарп конечно
>>935701Коляныч, не бузе, никто в твоё говно никогда и пуллить-то не будет, если у тебя "свой стиль".
>>935707Перенос тут не при чём, дибил.
>>935711Тебя надо обработать огнём.
я кажется понял как не переутомляться! нужно переключаться на другую задачу, на другой язык (js в моем случае), после переключения значительно легче опять питонировать.
>>936659Пересел с одного стула на другой. Дай жопе отдохнуть, ненасытный.
>>936661через чур ей отдыха будет, ленивая сука
>>936663Займись чем-нибудь другим. Отвлекаться на другое дело полезно, ты же занимаешься одним и тем же - кодишь. Род занятия один и тот же.
>>936625вижуал бейсик конечно
>>936665не отдых не про меня, я тугодум и что бы успевать в нормальном режиме, нужно больше времени кодить... ну и как следствие, с увеличением опыта сокращается время на решение каких то задач.
Посоны, что-то я в отчаянии.Первый пик - я через sqlalchemy пытаюсь сделать поиск по трем полям.Как видно - результат 4 записи.Второй пик - я копирую sql, который получается из моего кода и запускаю напрямую в базе. Из запроса просто убрал лишнее, чтобы не мешалось. Результат - 5 записей. Т.е. не ищет именно по фамилии - surname. Я не понимаю почему. Облазил гугл уже весь. БД - sqlite.
>>936675
Питонач, а как лучше именовать урлы? Транслитом, кирилицей или по-английски? Или ветки сайта - по-английски, а названия - транслитом? Например: course/management/article/management_of_the_knittingcourse/rukovodstvo/article/rukovodsto_vyazaniakursi/rokovodsto/statiya/ukovodsto_vyazaniaКак лучше?
>>936683Ну названия транслитом это какое-то дно вне зависимости от контекста, по-моему.
>>936683Смотри статьи по SEO.
>>932238Stepik.org
Чем можно заняться после изучения питоновских основ?
>>936683Ебаш по английски можно через SlugField
>>936704Погружаться в питон дальше.
Чем именно? Пробовал писать свою хуйню на pygame, врод что то вышло. Хочу попробовать джанго, но дело застопорилось на первых же шагах. Как начать работу с ним?
>>936712https://docs.djangoproject.com/en/1.9/intro/install/
>>936712>хуйню на pygameЭто ты очень верно подметил.
Реквестирую второй раунд ревью https://github.com/KOLANICH/RichConsole и апробирование в своих проектах
>>936683На родном для текста языке.
>>936759Но ведь когда делятся ссылкой, получается, %r%ht%growgwrg%hsr и т.п., это не ув.
>>936931https://ru.wikipedia.org/wiki/%D0%92%D0%B8%D0%BA%D0%B8%D0%BF%D0%B5%D0%B4%D0%B8%D1%8Fвот так получается
>>936712Tango with Django
>>936683я ебашу транслитом, удобно, не заморочно и аудитория легко читает ссылку
>>935908скорее всего проебался с oauth, проверь все коды, секреты и подобную хуйню. Может токен устарел?
Как же остопиздил этот кодинг ебаный, эта вечная ебля со сраными required but not now saved from view's __save__ уебиными unicode slugify полями ебаными, директором-ебонатом и тем что я сука вынужден тут жить блядь прямо возле компа всегда нахуй в зоне покрытия и с ноутом под рукой ожидая что в любой момент vps может перегрузиться, туда может прилететь галимым коммитом от фронтендщика, может сука отвалиться сраная exchange почта, блядь, а ты такой заебанный всегда что часто или не жрешь нихуя за день, или жрешь в кфц под домом, но один хуй пухлый как пельмень потому что прикован к компу.И все это ради чего? 120 тыщ? Да у меня знакомый менеджер по розничной продаже межкомнатных дверей получает больше. Ну и нахуя вы все вкатываетесь в программинг блядь?
>>937082ну так уволься нахуй, че ты ноешь то.Все вкатываются потому что у кого-то либо мечты, либо жрать нечего
Няши, объясните вот эту хуйню на пальцах:>Add the request context processor to your settings.py, e.g.:>from django.conf.global_settings import TEMPLATES>TEMPLATES[0]['OPTIONS']['context_processors'].insert(0, 'django.core.context_processors.request')Взято отсюда: http://django-el-pagination.readthedocs.io/en/latest/start.htmlЭто нужно непосредственно в settings.py вставлять?Если я это туда вставляю, то у меня случаетя IndexError: list index out of rangeКуда это вообще надо вставить кроме моей жопы, и надо ли вообще с этим что-то делать?Если что Джанга у меня 1.10
>>937101у тебя в Django уже есть переменная TEMPLATES, там смотри Options и contex_processors, там будет список из уже вставленных и туда просто добавляй нужный тебе.(давно возился с пагинатором этим, вот не помню точно, но есть шанс, что что в сеттинге просто дописал установленное приложение и все)
>>937082>а ты такой заебанный всегда что часто или не жрешь нихуя за день, или жрешь в кфцлол, ты просто до денег видимо жадныйполучаю 40кпопил сейчас теплого молокапару часов назад спокойно отобедал, голову никто не ебёт, дедлайнов нет, пописываю фор фан для себя, книжки читаю
>>937082Ты странный. Иди поработай в продажи, где тебя так же все ставят раком и заставляют впаривать непонимающим клиентам откровенный шлак. При невыполнении планов продаж виноват не кризис а точно ты. Или в общепит, за 30 000 в месяц за 10часовой день на ногах. И всем знакомым гордо будешь рассказывать что работаешь в маке. И получишь опыт работы шикарный. Или на вахту на север строителем смотайся разок, где тебя может вообще с деньгами кинут и здоровье посадишь так что доживешь от силы лет до 47. Или псом режима поработай общаясь с алкашами и зеками расследуя преступления, причем кол-во преступлений должно быть ПО ПЛАНУ не меньше чем в АППГ. Почта у него отвалилась, я аж проиграл с твоих жизненных проблем.
>>937107Спасибо.Нашел вот это:>django.core.context_processors>Built-in template context processors have been moved to django.template.context_processors.django.template.context_processors.request у меня прописан, но один хрен не робит. Буду дальше ковырять.
>>937122ну ты в Installed_apps пропиши название пагинатора и все робить должно.
>>937125Да это я сделал сразу.Он мне исключение выдает. Похоже, во вьюхе проблема, но это я уже сам попытаюсь решить.
Как в pyserial корректно закрыть COM-порт?
Анон, снес кривыми руками /usr/local/bin/ansibleТеперь, даже после переустановки через pip $ ansible --version-bash: /usr/local/bin/ansible: No such file or directoryГде ее взять-то?
Как правильно через Django shell сделать поиск в базе?Например Category.objects.<find>(name='foo')
>>937253Тебя кроме двача никуда не пускает?
>>937253get()get_or_create()filter()exists()Например.
>>937257Спасибо, через фильтр помогло, а то сначала ковырял через get и вылетали ошибки.
Как искать недостающие модули? Нужен build_support, но гугел/утка/startpage молчат, куда копать?
>>931624>какая библиотека подойдет?Действительно, зачем думать, зачем что-то свое писать если можно просто накатить стороннюю библиотеку, ты наверное и для калькулятора специальую библиотеку качал и калькулятор у тебя выглядел так:import calccalc.calc()
Какие есть способы узнать, кидает ли определенная функция исключения, и если да, то какие именно? Кроме просмотра кода этой функции
>>937382Писать аннотации. По другому никак.
>>937350Предлагаешь ему ГУИ с нуля писать? Ебанулся?
>>937382try except?
Аноны, что лучше юзать, sqlalchemy или же напрямую конектится к БД и прописывать запросы?Недавно было собеседование по скайпу, спросили за БД, сказал что юзал много чего(MySQL,SQLite,PostgreSQL) и везде прописывал запросы вручную, без алхимии, собеседник тяжело вздохнул, сказал "понятно,ладно" и пообещал перезвонить (но нихуя). Это вина его тараканов, или же тру хацкеры юзают алхимию?
>>937497>Это вина его таракановПогугли что такое orm и когда стоит их юзать.
Аноны, пояните человеческим языком за дженерики Джанго. Не могу вкурить как они работают. Я слишком туп, чтобы понять много сложных слов их официальной документации. Вот прям на пальцах.
Вообще реально такую ёбу на питоне написать?
>>937593Вот фул:https://github.com/TargetProcess/DevOpsTaskJunior
>>937596Это все делается через ansible, docker, jenkins. Я хуй знает правда, как это делать на винде, никогда с ней не работал. Насчет питона - да можно.
Анон, надо ли в гит репу с джангой тащить папку с миграциями?
>>937689Если ты планируешь сделать проект, отладить его, выкатить в продакшн и больше никогда не менять схему БД - то можешь не тащить.Иначе тащи конечно. Особенно если могут случится написанные ручками datamigrations.
>>937590Ты про generic relations?
>>937689Да. Если их у тебя много, то объедини в один файл https://docs.djangoproject.com/en/1.10/topics/migrations/#squashing-migrations
>>932091b = type(a)
>>931673ну так дебаг когда вырубаешь, джанга больше не раздает статику и медиа. Дрочи nginx или что там у тебя. на хероку задеплой, там халявно, поиграться хватит.
>>931756а я так прыгал и чет работу в вебе так и не нашел
Может кто по джанге подсказать в чем проблема.Подключил вместо стандартной базы данных постгрес и локально всё работает, а вот на PythonAnywhere выдает ошибку с psycopg2.Может кто-то подсказать в какую сторону смотреть ?line 24, in <module> raise ImproperlyConfigured("Error loading psycopg2 module: %s" % e)
>>937845Убедись что база висит на локалхосте. Питонэнивер не поддерживает внешние соединения.
>>937848На локалхосте, всё верно, если ты об этом.
>>937852Кури до просветления. Как там в питонэнивер устроено окружение я не знаю. Попробуй в шелл самостоятельно зайти, активировать венв и удалить/установить псигопгу.
>>937854https://stackoverflow.com/questions/8237842/django-core-exceptions-improperlyconfigured-error-loading-psycopg-module-no-mo
>>937845А зачем ты юзаешь pythonanywhere? На том же рувдс нормальная впска для домашних проектов за 65 рублей, любой нищеброд сможет позволить.
>>937860Да я первый тутор только заканчиваю, что там посоветовали, то и юзаю, тем более проблема то не уйдет поди, если поменять сайт.>>937855Requirement already satisfied (use --upgrade to upgrade): psycopg2 in /usr/local/lib/python2.7/dist-packages
>>937867>2.7Нет, с этим старьем тебя отправят ебаться самостоятельно.
>>937860Можно вообще халявный амазон на годик поюзать
>>937893В жопу сваю мамку паюзай, лох теоретичный. Так кредитка нужна, бббггее. и спидоранам засанкцаинировали по самые спомидоры, хехе. А инстанс микро (как хуй в тваей жеппе). када низаметна лимит ушел выше, тебя хуй уведомят. а потом будешь плодить бабло, хехе.
>>937845На Pythonanywhere бесплатный аккаунт? В бесплатных аккаунтах, кажется, только mysql?
>>937895> qiwi c 100 рублей на счету, которые позже тратятся на домен> домашний проект для экспериментов с посещаемостью 0.5 человек в суткиПочти полгода, полёт нормальный.> када низаметна лимит ушел выше, тебя хуй уведомятhttp://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/free-tier-alarms.html
>>937868>>937867Сука, я даун, забыл активировать virtualenv, там установил psycopg2>>937913Точно, только что прочитал, только вот интересно, ошибку которую оно мне дает связанно с бд ?
>>937921То есть ты залил код на pythonanywhere и пытаешься законнектиться к постгресу и указываешь в качестве хоста localhost, я правильно понял?
>>937926Насколько я понял, в listen_addresses в постгресе стандартно стоит локалхост, но в целом, всё верно.
>>931572 (OP)Сап двощи, хочу задрочить веб. Взял пока джангу. Что сделать на ней, чтоб покрыть большую часть разных плюх, необходимых в реальных проектах?
>>937932> Что сделать на ней, чтоб покрыть большую часть разных плюх, необходимых в реальных проектах?Удалить джангу, выучить php и битрикс. В крайнем случае ноду и реакт/ангуляр.
>>937938> битрикс. В крайнем случае ноду и реакт/ангуляр.Пруф?С нодой не в ДС(1,2) куда мне идти?
>>937928Ты думаешь, кто-то на той машине, на которой ты запускаешь код, поднял для тебя постгрес на локалхосте? :)Тем более, если у тебя бесплатный аккаунт, то твой выбор либо mysql, либо sqlite.Когда создаешь в админке pythonanywhere базу данных, то для тебя сгенерируется хост, который тебе нужно будет добавить в файл настроек. Трюк с локалхостом не пройдет. Вот инструкция для mysql https://help.pythonanywhere.com/pages/UsingMySQL/Если хочешь сам поднять постгрес, то тебе нужен какой-нибудь vps, где тебе будет предоставлена возможность все настроить как тебе хочется.
>>937942Да вы тут хуйней занимаетесь все на самом-то деле. Отличный пример того как не думать глобально, а ковырять говно что первое попалось/было предложено в туториале.
>>937942Спасибо большое <3
>>937956>Да вы тут хуйней занимаетесь все на самом-то деле. Отличный пример того как не думать глобальноРасскажи-ка нам как делать правильно.
>>937964Изучить все варианты перед тем как прыгать на первый попавшийся, очевидно.
>>934992Могу тебе подсказывать (сам ньюфаг)[email protected]
>>937932Сделай бложик или борду. Лучше сначала бложик, конечно. Сначала на FBV (function based views), потом на классах. Сделай кастомную модель юзера, в первую очередь откажись от sqlite, пиши формы в forms.py, а не в шаблоне. Используй полезные приложухи по типу crispy forms, jinja2 > django.templates. Делай хитровыебаные связи между приложениями, настрой админский шаблон под свой вкус, напиши middleware, который НАПРИМЕР юзеру в реквест будет ебашит какую-то куку. Потом поставь DRF и ебашь апишки с красивеньким жопоскриптом.После всего этого поймёшь, что джанго - говно и для хайлода надо использовать что-то другое.
>>938052Ок, спасибоБорду самую тупую сделал с двумя модельками, класс бейсед вью, читаю документацию, пока не понимаю с view до конца когда что использовать (FBV, CBV, MBV, ...) и миксины всякие когда плохо, когда хорошо. Возник вопрос - много ли в реальности используется разных приложений сторонних для джанги. (Писал чуток на руби - язык не понравился, но это оффтоп, так там в рельсах по сути все что есть заменялось на сторонние гемы), тут вроде больше используется функциональность самой джанги, если включить в нее rest framework и шаблоны. И чем другие шаблоны лучше, чем джанговские? Я почитал посмотрел, но не очень понял - вроде то же самое делается.
>>938056Год назад работал над проектом на джанге в 70к строк питоняьчего кода, без учета шаблонов и прочей хрени. Так там процентов на 70 использовались стандартные возможности джанги. Десяток сторонних модулей и пяток своих. Джанга давольно таки функциональный фреймворк, стандартных возможностей для небольших проектов хватает с головой.
У вас было когда-нибудь так, что вы дохера читаете и ничего не пишете (кроме примеров из книжек)?
>>937867>проблема не уйдетНу не надо же сравнивать урезанный saas и полноценный рут-доступ.
>>937893Амазон это слишком сложна, плюс требует верифицированной платежки. А на рувдс можно яндыкс деньгами ононимными платить.
>>938062>для небольших проектов хватает с головойЛол, это вообще ебаный комбайн. Надеюсь, когда-нибудь люди поймут, что лепить все на джанге не нужно и начнут юзать божественный фласк.
>>938056Ну смотри. CBV это чтобы не писать хуйню в одной функции типаif request.method == 'POST':logic1elif request.method == 'GET':logic2По-хорошему, функции я бы использовал только когда надо что-то сделать с реквестом (хотя и для этого middleware существуют) или когда какая-то ебатория с логикой моделей (надо здесь какой-то ахуенный запрос, етц).На джанго вообще полно приложений (по-моему, только в PyPy их около пары сотен), token-authentication ещё из годных. В общем, вот, пока попробуй заебенить какой-то бложик, с регистрацией, коментами. И не забывай, jinja2 > django.templates
>>938090А смысл? Для маленьких проектов джанга норм. Для больших - тоже норм. Ты просто берешь джангу и без задней мысли все делаешь. Можешь со временем свою маленькую джангу сделать большой и все будет отлично.Наверное и с фласком так можно, но у джанги все целостнее выглядит.
>>938092А зачем для маленьких проектов, не блогов mvc-модель и все эти папочки никому не нужные? Это только переусложняет задачу и вместо того чтобы писать под свою задачу ты пытаешься подогнать под логику джанги.
>>938096Может, может.Но что это за проект, где для тебя папки и мвц - много? Самый минимум что ты можешь сделать - это засунуть все модели в один файл и вьюхи и парочку шаблонов завести. Куда еще меньше? Начнешь усложнять - разобьешь сначала по файлам, а потом по модулям.
>>938096блять. ну скажите мне что в джанге такого сложного? структура проекта предельно прозрачна и логична. и никто не заставляет использовать все батарейки джанги в чем тут оверхед? >>938052много ты хайлоада написал?
>>935288Иди лучше в офис. Там за 3 месяца узнаешь больше чем за пол года.
Долбанная нода с php не вытеснят django?
>>935453Никогда, повторяю никогда не храни в репозитории virtual environment и .idea
>>938150Заебись сравнение, платформа для запуска жс, язык программирования vs фреймворк.
>>935453>да репозиторий через жопу создалДа и код через жопу
>>935453Настрой https://habrahabr.ru/post/202696/ и почисть gitignore и репу заодно.
>>938150Пока есть легаси с пхп пистон еще лет двадцать будет только у забугорных хипстеров.
Хочу на сайтике запилить главную страницу с редиректом под названием /home/ где будет представление сайта, и дальше по отдельным ссылкам весь функционал сайта. Получается мне надо отдельно создать приложение "home" и "<another>"? Хотелось бы в одном приложении всё иметь.
>>938636Дурачок? Ты "остальные ссылки" роутишь точно также как и корневой адрес.
>>938640Смотри:www.mysite.com - редиректит на www.mysite.com/home/ где описание сайта и т.п.Допустим мой сайт про описание чего-либо (собак), и я хочу чтобы инфа была на www.mycite.com/dogs/Для /dogs/ у меня есть приложение "dogs", и в главном ulrs.py я делаю /dogs/ include dogs.urls, но как сюда присобачить "home"?
>>938651Я тупой и не понимаю, что значит присобачить одну страницу на другую. Может кто-нибудь другой тебе поможет.
>>938651Посмотри эти ответы http://stackoverflow.com/questions/7580220/django-urls-howto-map-root-to-app
Кто-нибудь для создания регистрация на джанге пользовался django-registration ?Что-то я по их документации нихуя не понимаю.Типа создать форму, которая наследовала бы RegistrationForm, а что там внутри должно быть, такое ?class Meta: fields = {'username', 'password1', 'password2', 'email'}И еще, пишу точно такое, что они рекомендуют в своих юрл - 404, что не так ?url(r'^accounts/$', include('registration.backends.simple.urls')),
>>938718>$Удали это.Должно быть>url(r'^accounts/', include('registration.backends.simple.urls')),
>>938726Спасибо, добрый человек.
>>931572 (OP)Есть АТ Glonass/GPS хочу запилить себе свой сервер, есть описание протоколов (EGTS/ADM/GalileoSky и др. терминалов) всё это дело хочу написать на python. Как организовать приём данных (с дальнейшим расширением)? Есть идее, организовать MQ (ZeroMQ или что-то типо этого, потом данные записывать в БД). Помогите советом мудрым.
Вечер в хату. Короче, есть такая конструкция. Она работает, но нужно что-то более лаконичное. Можно ли что-нибудь придумать? Суть в том, что в строке нужно найти цифры, а для того, чтобы их достать, нужно достать одну конструкцию и уже из неё потом вычленять цифры. Естественно, просто указать в регулярке множество цифр не сработает, т.к. неизвестна нужная длина.Всё никак от конвейеров баша отвыкнуть не могу.
>>938758Скинь пример таких строк.
>>938774Пишу парсер картинок в gelbooru<span id="s3570992" class="thumb"><a id="p3570992" href="index.php?page=post&s=view&id=3570992" ><img src="//gelbooru.com/thumbnails/96/e7/thumbnail_96e7f6e2dd0ebce605ea9c66539aa430.jpg?3570992" alt="здесь идут теги, среди которых могут быть и цифры"class="preview " style=""/></a></span><span id="s3570986" class="thumb"><a id="p3570986" href="index.php?page=post&s=view&id=3570986" ><img src="//gelbooru.com/thumbnails/77/50/thumbnail_7750d954104237cf01fd977288b464e0.jpg?3570986" alt="здесь идут теги, среди которых могут быть и цифры"class="preview " style=""/></a></span>
>>938778А реальные примеры есть? По-моему, достаточно одну регулярку использовать.
>>938778https://github.com/atomicptr/BooruPyhttps://github.com/fhrach4/BooruGetНадеюсь больше не увидеть здесь этого анимешного зашквара. Буду благодарен.
пояснитt за разницу Anaconda и miniconda
>>938830Вторая весит меньше
вкину вопорс еще. Стоит у меня IDLE pyzoстоит miniconda . Как накатить киви и не сломать ноги?
бля... чо это было?
Анон, хочу под пайтон запилить себе исполняемый для винды файл из под винды. ИДЕ качал отсюда https://www.jetbrains.com/pycharm/download/#section=windowsТеперь мне нужно скачать в т.ч. некую pywin32., но там ДАХУЯ ВЕРСИЙ.Как бля выбрать нужную версию нахуй, если я качал Community Edition по ссылке выше? >Community>Lightweight IDE>for Python & Scientific>development>DOWNLOAD>179 MB>Version: 2016.3.2>Build: 163.10154.50>Released: December 30, 2016Вот это 3.2 это версия пайтона или че блядь? Пиздец у меня бомбит нахуй, почему блядь нельзя большими сука буквами написать версию питона, а не версию блядской ИДЕ?
asyncio в stdlib видимо с бинарными заплатками, поэтому дебажить мои хелло ворлды с ним было не умно, так как pdb пропускал кучу моментов и многое было не понятно. Создал venv с asyncio из pypi, там он называется reference implementation, и уже с ним дела пошли в гору.Именно непрерывной последовательности действий интерпретатора не хватало для понимания.Наверное, неплохо добавить эту деталь в фак для ньюфагов, может кому-то будет полезно.
>>938985твой говнокод
>>939000Дебил блядь, нахуя тебе пичарм, ты там отладку с профилированием собрался делать или что? Пиздец нахуй, берешь сука скачиваешь пистон нахуй, ставишь pip, все пакеты остальные блядь ставишь через pip и компиляешь свой экзешник (нахуя тебе он вообще блядь) через командную строку нахуй. Уебок блядь криворукий не понимаешь нихуя но везде уже лезешь своими ручонками пидор.
>>939016Пс, чем компиляешь в ехе?Юзаю пайинсталлер, но что-то в винде не запустился прожект(на линуксах полет нормален, но походу я там библу проебал одну).Мимодругойанон
>>939000Ну во-первых скачай комерческую, плюшки приятные есть, во-вторых последняя версия - 3.3, в третьих в настройках пайчарма, там где интерпретатор, ты сам указываешь место нахождения твоего пистоновского интерпретатора, какого хочешь(2.7,3.2,3.4,3.5 & e.t.c.).
>>939000Ты, долбоеб неотесанный, вместо того чтоб писать пост за это время мог бы уже изучить что такое интерпретатор, а что такое IDE и в каком они соотношении.
>>939000Такой трипл эпичный.лолХуле тебе не ясно, опездол? Выше версии для 64бит, ниже 32. Качай последнюю 3,5. Там есть ридми файл, почитай его. Че как школяр тупой то?
>>939028>2017>качать с сорсфоржа вместо божественного pip install huemoe
>>939000>YandexSykaaaaaaaaaaa
>>938758А в чём проблема использовать группы-то? Ты, похоже, не знаешь, зачем вообще .group() нужно.>print(re.search(r'jpg\?(\d+)', line).group(1))и получишь своё.Да и вообще, лучше бы ты айдишник именно из поля id выдирал. Впрочем, решение основной задачи тебе уже дали, в любом случае.
import matplotlib.pyplot as pltimport numpy as npx = np.linspace(-3, 3, 1000).reshape(-1, 1)def f(x): return 2 * np.sin(x) + 5f = np.vectorize(f)y = f(x)from keras.models import Sequentialfrom keras.layers import Densedef baseline_model(): model = Sequential() model.add(Dense(5, input_dim=1, activation='relu')) model.add(Dense(1, input_dim=5, activation='linear')) model.compile(loss='mean_squared_error', optimizer='sgd') return modelmodel = baseline_model()model.fit(x, y, nb_epoch=1000, verbose = 0)plt.scatter(x, y, color='black', antialiased=True)plt.plot(x, model.predict(x), color='magenta', linewidth=2, antialiased=True)plt.show()for layer in model.layers: weights = layer.get_weights() print(weights)Как сделать более точную сеть?
>>939139Машоб не тутачки. Ищи соответствующий тред.
>>939174Где ты тут увидел машоб, дурачок?
Подскажите пожалуйста несложных книжек для старта в SQL. Планирую работать с ORM, преимущественно, так что запорсы и прочая сложная хрень не нужна. Нужно понимание форигнфилдов, мэнитумэни отношений (как например биндить несколько изображений к одному посту). Основы, в общем.
>>939139ideone/pastebin там ---->
>>939227Тут и так все читабельно.
Сап, питоноводы.Засоветуйте какую-нибудь либу для oauth, нужно сделать тестовое задание. Нашел python-social-auth, но он слишком толстый и заточен под использование в продакшонах, как я понял, а мне бы что-нибудь небольшое чтоб хуяк-хуяк и получить токен.Нашел под эти требования requests-oauth2 но оно чот тухлое судя по комитам. Есть у кого мысли/советы что запользовать можно?oauth нужен чтоб получить токен от вконтактика, серверов городить слава б-гу не надо
>>939246а что мешает request-vk заюзать?
>>939246from requests_oauthlib import OAuth1
>>939246Долбоеб, получи его вручную один раз. Прописываешь ключ offline и токен будет бессрочный.
>>939231Нихуя, где твои отступы, поц?Лей на пастебин и не еби головы.
Хорошие новости для веб-рзработчиков!Vue.js теперь будет иметь нормальный плагин для PyCharm, а не старый, забытый и нерабочий. Как раз буквально недавно осваивал Vue.
>>939231Но не копипастабельно для запуска. Либо на пастбин, либо нахуй, короче.
>>939252Мне токен не для пирдолинга нужен, а чтоб задание тестовое выполнить, довен плес>>939248>request-vkтоже не подходит Пойду дальше гугл шерстить
>>939250а вот это то что нужно скорее всего, спасибо!^^,>>939246-кун
>>939272Тестовое задание на получение токена вкудахте?
>>939275Но контач юзает oauth2, кстати. Для чего тебе токен? Что ты собираешься делать?
>>939276Нет )))00)0)На получение работы веб-макакой>> - Хочу у вас работать, но опыта нихуя нет.>> - Окей, но сделай такое то тестовое задание, вот ТЗ.>> - Ладно, пойду посоветуюсь на двощах какую либу запользовать.Как то так.
>>939279Так либа, которую скинул тот анон, судя по тому что написано на гитхубе, поддерживает oauth2?
>>939279Взламывать пользователей
>>939260Это прекрасно копипастится и запускается, просто ты дурачек и у тебя скорее всего не поставлен даже tensorflow обернутый keras. Пикрилейтед с отступами. Если есть что сказать по делу -- говори, нет -- пройди будь добр сам нахуй.
>>939282Ну так я тебе поясняю - чтобы вбросить фотощки, поставить лайкосы - достаточно один раз вручную получить токен через бровзер. https://oauth.vk.com/authorize?client_id=1&scope=friends,photo,video,offlinev=5.62Флаг offline - это получение бессрочного токена, который не нужно обновлять каждый раз через oauth.
>>939290[array([[-1.27243876, -0.60164684, -0.87058032, 1.18921578, 0.01335463]], dtype=float32), array([ 1.83589685, 1.77507377, 2.56869197, 1.51997244, -0.10656261], dtype=float32)][array([[-2.11773753], [ 1.8032347 ], [ 2.60775709], [ 1.90714526], [-0.80964983]], dtype=float32), array([-3.9735322], dtype=float32)]
>>939287Да не хочу я никого взламывать, нужно задание тестовое выполнить и вкатываться идти на работу, веб-мокакой мощным разработчиком.
>>939291Спасибо большое за помощь.Я просто сам довен, не до конца объяснил что мне надо, и начали не те советы давать."Сделать веб приложение, на выбранном вами языке, при открытии должно показать кнопку «авторизоваться» по нажатию делает oauth авторизацию ВКонтакте, и отображает базовую информацию о пользователе"Это задание на джуна, надо сделать его. Мощные oauth фреймворки для этой задачи не подходят, а вот requests-oauthlib то що надо.
>>939302Впрочем с самостоятельным формированием url-строки для oauth авторизации тоже сделаю, во имя пердолинга и обучения
Так, а вот если я блог свой на джанге запилил и хочу сделать профили для пользователей это должно быть новое приложение app, или там же где и блог пилить ?
>>939329Сделай новое.
>>939184http://www.e-reading.club/bookreader.php/140820/Gruber_-_Ponimanie_SQL.pdf
>>939364>> ОБЫЧНО ПРОИЗНОСИМАЯ КАК "СЭКВЭЛ"заорал
>>939392Секель
>>939364Спасибо. А она актуальна?
>>939399Спрашиваешь. Само собой актуальна.93-го года же.А если серьезно, то иди читай "Дейт К.Дж. - SQL и реляционная теория. Как грамотно писать код на SQL - 2010.pdf" А потом документацию postgresql от одной ебанной корки, до другой, а потом заново
>>939421>писать код на SQLКак раз этого мне не нужно.
>>939399Там только основа, которую старается реализовать каждая приличная СУБД.На год издания можно забить, это примерно как с той белой книжечкой от Кернигана и Ричи 1975 года.
Саб. Прошел базовый курс, знаю все не очень хорошо. реквестирую задания или упражнения, чтоб отточить знания. из вариантов какие-то задачки или еще что-то. мейби какой нить легкий мини проект
>>939028Ублюдище слепое там ведь 3.6 последняя!
>>939016да в этом и проблема, что нихрена не понимаю.разве с пичармом не шел питон?я вроде не указывал где устанавливал его.
>>939534>пичармОтношения к питон не имеет.
А почему у меня всё новые пользователи при регистрации в джанге получают is_superuser = True и как это убрать, если в форме напрямую написать, что False, то и мой юхер получает False.
>>939554А, нет, я даун, забейте, другой вопрос.Как мне во view в определенной функции достать юзера, которых хочет воспользоваться этой функцией ? То есть как мне понять, кто делает запрос ?
>>939617А, всё, уже сам нагуглил, как только задал правильный вопрос, получил ответ.
>>939522Палю, в очередной раз, годноту:http://newcoder.iohttp://exercism.io
Нужны либы для работы с вордом мелкософтовичем.
>>939652да
>>939652https://github.com/python-openxml/python-docx
>>939290пилил бы на neurolab
>>939528Мне вообще похуям, что там последнее. В ротик тебе аккуратно опустил свои яички.
А что тут не так, чому оно ругается на отсутствие else ?
>>939674
Привет питоняхи. Подскажите нормальные-адекватные требования на питон-джуна. Летом хотел вкатиться - была вакансия то ли на джуна, то ли на стажера - давалось задание тип сделать приложение на джанге (это ладно) с фронтендом на ангуляре. Я такой подумал - ну тип на джанге то я могу что-то сделать и rest-framework разберу, но блять ангуляр чет дико смутил и я дропнул
>>939785>вкатиться>тип>чет>дропнул
>>939686>чому оно ругаетсяДа потому, что ты хуйню написал. Что ты пытаешься сделать, присваивание?
>>939522>задачки>отточить знанияПили борду давай, хватит тебе задачек.
>>939785В 70 процентах случаев никто не хочет нанимать фронтендщика, который будет натягивать твою джангозалупу на веб-морду, поэтому желательно знать ангуляры и прочие реакты. Иначе ты нахуй никому не нужен будешь в вебе.Думал в сказку попал и будешь сайтики из девяностых лепить?
Объясните зачем в channels нужны какие-то бекенды кроме in-RAM? Я сейчас использую каналы как замену AJAX (посылаю ивенты, которые требуют времени, в сокет, потом принимаю результат). Как я понимаю, если добавить редис то можно создать несколько воркеров? Это получается нужно на кадой машине заливать весь код джанго эппа? Иначе как воркер поймет контекст (например если есть миддлварь типа авторизации)?
>>940005насколько я понимаю каналы, не надо ничего тебе "заливать", оно само под капотом маршрутизирует между воркерами как раз через редис, просто работаешь так же как с inram. но могу ошибаться, поправьте если не прав.
>>939000> хочу под пайтон запилить себе исполняемый для винды файл из под винды. Т.е. ты хочешь сделать .exeшник из скрипта? pyinstaller тебе в руки.
Ладно, давайте взглянем дальше чем Django channels. Возьмем мою конкретную задачу.На фронте у меня Vue.js. Для него создан компонент, который представляет из себя несколько ползунков. Позиции ползунков представлены в виде JSON и связаны с computed JS переменной. Когда пользователь выбрал нужную конфигурацию ползунков, он жмет кнопку.Теперь это нужно обработать в Django (а именно, принять данные и записать в Postgres, при этом в аккаунт конкретно этого пользователя).Мне пока видится два решения:1) Создать отдельный маршрут, принимающий POST, и привязать к кнопке отправку POST-запроса. В джанго создать вид, который будет это обрабатывать и писать в базу, а также возвращать JsonResponse с успешным/неуспешным выполнением. Дальше принятый респонс вылезет где-то на странице.Плюсом является прямая простота реализации и поддержка всеми броузерами.Минусом:Лишние запросы (в сравнении с сокетами, например), отправка хедеров и прочей ненужной лабуды, хотя полезен только сам JSON. Нагрузка, соответственно.Также возможность отправить респонс только один раз за запрос. Промежуточные результаты не сообщить (напрмер если я хочу проинформировать что что-то записалось для каждого посланного объекта).2)Channels/SocketIO и прочие сокеты.Тут явный плюс это сколько угодно ответов на один реквест. Ретрансляция по чужим сокетам (в нашей задаче в член не уперлась). Разгрузка сервера.Что бы выбрали вы? Есть ли третий, четвертый, n-вариант? Как быть с неподдерживающими сокеты обозревателями? Особенно настораживает Opera mini, которая по-прежнему часто встречается в отличие от всяких IE6. Создавать для них отдельный функционал, детектить и слать нахуй или что-то еще? Расскажите о своем опыте разработки интерактивных бекендов, дайте советов мудрых.
>>940083да
>>940083я выбрал сокеты (channels) на фронте react. но у меня много действий и есть ответы как на действие, так и broadcast уведомления по всем каналам. тебе если только ползунок обработать наверное хватит и аякса.
>>940095Расскажи как ты обращаешься с клиентами, у которых обозреватели без поддержки WebSockets?
>>940099никак, браузерная игрушка которую пилю в образовательных целях, для себя.
>>940099>>940100ты меня натолкнул на мысль... вот же https://github.com/Modernizr/Modernizr/wiki/HTML5-Cross-Browser-Polyfills#web-sockets потом прикручу какой нибудь из этих полифилов.
>>940107Методы вроде совпадают, но объект другой. Жаль что нельзя просто сделать импорт этой херни и старый код пихнуть в продакшн.
>>940129вот это скорее всего подойдет https://github.com/ffdead/jquery-graceful-websocket
>>939785Если не хочешь учить фронтенд, учи Python и Django дальше.Ты должен уметь пояснить за MRO, mutable default arguments, iterators, generators, aggregaion запросы, middleware, транзакции, лямбды и т.д.Но и просить надо не меньше 50к, лучше 60-70к (в ДС)
Как через регулярные выражения убрать все знаки оставив лишь цифры из этого "['452564']" ---> "453564"делаю через re.sub , но что то все ничего не получается.
Питаны, кажись меня с моей не айтишной работы выпизживают. И так, у меня есть десятка законченных проектов которые делал для фирмы на джанго + бутстрапе, всё функционально, всем пользуются, азы джанго знаю, сигналы там всякие, контекст процессоры, темплейт теги, рест апи, раббит эмкю, селери, перепиливание админок и тдНе знаю совсем js даже на уровне jqueryВерстаю при этом вполне сносно на вышеупомянутом бутстрапеНайти удалёнку на 40-50 штук в таком раскладе реально вообще?
>>940563В ойти типа с 2005, только беда в том что программёром я не работал с 2012, все проекты выросли из тупой скуки и "шеф ля какую поебень я сделал помнишь те валенки говорили мол круто было бы" + всякие корпоративные сайты-затычки, но их я вообще не считаю
Посоны, спермопроблемы. Короче logging пытается записать в cp1251. И естественно у него не получается (пикрелейтед). Пробовал делать как здесь написано http://bugs.python.org/issue11593теперь и русик сломался.sys.getdefaultencoding()sys.getfilesystemencoding()выдает utf-8
>>940642>спермопроблемычто общего между окнами, окошками, виндой, виндусом, мелкософтом, майкрософтом, мс и тд и блядь спермой. В чём связь?Я просто не понимаю.
>>940642cp1251 у меня есть только в локалиизменение локалиlocale.setlocale(locale.LC_ALL, "ru")нихуя не далопошел по трайсбеку.stream это sys.stderrdef __init__(self, stream=None): if stream is None: stream = sys.stderrsys.stderr.encoding выдает utf-8Какого хуя он вообще в cp1251 лезет? Ничего не понимаю, и это офицеры?
>>940691Семёрка → спермёрка это классика, это знать надо!
Перекот: https://2ch.hk/pr/res/940796.html
>>940563В ДС с таким уровнем реально тысяч на 80-100 устроиться.
>>940567Создай сайт с портфолио и все будут думать, что ты эти годы фрилансил.
>>940949Супер! Спасибо>>940950Для HR'ов лучше фриласить чем быть бизнес-аналитиком в нефтянке и металлургии?Неожиданно, но учту
>>940958так ты бизнес аналитиком был?Хуй знает тогда. По моему с таким бекграундом можно в того же бизнес аналитика и метить, только в IT сфере. Т.к. сайты писал, понимаешь что кнопочку поправить может быть как задачей на пол часа, так и на 2 недели.А вообще попробуй создать 2-3 версии резюме и посмотреть как конторы на них реагируют
>>940563Если не секрет, где rabbit mq использовал и для чего? В вакансиях выше джуна он почти везде нужен а зачем хуй поймешь
>>941055У меня есть корпоративная файлопомойка на которой валяются файлы ±120 клиентов, от инструкций по пользованию станками до какого-нибудь говна типа проектов инвест. программ.При аплоаде файла файл закидываю в очередь rabbitmq что бы оно засунуло его в один скрипт если это docx или odt или ещё что человеческое, сконвертировало в html а затем из html в markdown; если это pdf то просто нарезало на jpeg-листочкиЕсли файл не является новой ревизией существующего - раббит засовывает его в скрипт, а скрипт выплёвывает хмтл в одно поле джанги, markdown в другое, но недоступное пользователю и нужную для определения изменений + поискаЕсли файл был изначально docx/odt, и это ревизия какого-то из существующих файлов - дальше раббит запихивает значения из поля в велосипед из говно-гит-подобного поделия, которое гитовским diff'ом находит изменения файла относительно прошлой версии, что бы можно было всё не читать а выгрести например "изменения за последний год" и посмотреть чем устаревшее говно у подрядчика отличается от актуального и за что его отпиздить/посоветовать/или что бы сам подрядчик залогинился и вкурилС учётом того что система не оптимизирована и вполне так валится от всего подряд, а времени особо переписывать на чём ещё у меня нету - раббит - единственный способ что бы твои задачи хоть и не сразу, но выполнялись не заморачиваясь дрочкой except'ов или ещё чем непонятным для меня типа полной асинхронщины и похуй как колбасит сервак и не ребутнится ли он вообще - раббит нихуя не просрёт
>>941053Я понял, подумаю, спасибо за идейку. Таки и хомяка с портфолио запилю, и пятёрочку сиви на русском да английском
>>940774Ну охуеть теперь!
>>940514Хуй знает что ты там делаешь, но>re.sub(r'[^\d]', "", text)прекрасно работает.
>>941296> ^\d\D
как дела с питоном на фрилансе?