F.A.Q. https://github.com/TheKnightsWhoSayNi/info/wiki/HatСвой код кидайте через https://repl.it/languages/python3Книги: https://yadi.sk/d/tArKKuQu3Kejuq и ссылка на PyCharmКниги: https://yadi.sk/d/H-00n-UG3RSQem/Предыдущий тред >>1159798 (OP)Python питон
предлагаю вконце каждого треда подводить общее резюме и подписывать им предыдущий тред в шапке текущего
Анон, объясни мне subprocess. Я пока хочу только вызвать стандартную cmd шинды, очистить ее экран и написать "Hello\nIt's me\nMario". \n понятно новые строки. Как это сделать? Пробовал subprocess.run(["cmd", "cls", "echo Hello", "echo It'sme", "echo Mario"]), пробовал a=subprocess.Popen("cmd", stdin=subprocess.PIPE), a.write(то же самое). Ничего не работает, ничего не понимаю.
>>1164635За cmd ничего не скажу, но так как ты делаешь нельзя делать. Надо (на примере баша):bash -c 'clear; echo Hello; echo Itsme'чтобы он жрал скрипт из stdin:bash -Эти интерпретаторы принимают в cmdline параметрах имя файла со скриптом:bash script.shВсё в общем-то очень похоже на запуск бинарника питона.
>>1164635result = subprocess.check_output("ls -a", shell=True)попробуй
>>1164620оп чмо, даже мой няшный сайтик для зелени не хочет в шапку вставлять, чую бунт нахуйследующий треад будет НАШ сука!так что собирай подборку годноты в гудрайв братишка, а я оформлю и создамhttps://docs.google.com/document/d/1_tdwh9HR5j2aZ1CNg1YR9dwiEl5kvC1ZP1zHy933A14/edithttps://sites.google.com/view/pypry/
>>1164675да ладно, зато питон смешной
>>1164666Точно, спасибо.>>1164670Не, не хочет.Теперь время ещё более тупых вопросов. Вот смотри, какую абсолютно бесполезную программу я сделал, пока осваиваю субпроцессы эти: https://repl.it/repls/FuzzyAlphanumericAgentsНичего сложного вроде - главная программа получает слова и отдает их пакетами по 3 штуки дочерним программам, чтобы они печатали. Но, субпроцессы нужны, как я понял, чтобы делать охуенно быстрые программы. И вот одна программа, которая бы просто печатала все, что получает, выводила бы любой текст мгновенно (ну не так, чтобы прямо любой, но любой, который не лень мне набрать руками в командную строку). Эта же программа с использованием субпроцессов выводит строки (как минимум на моем пк) с заметной задержкой. Не пару секунд, доли секунд, но заметно, что строки появляются не мгновенно. Вопрос, как так?а ещё, как вам программа упаковки по 3 штуки? Я выкупаю, что можно сделать 3 слайса и zip()'нуть их, но тогда надо будет как-то разбираться с остатком в случае, если предметов в iterable не N*3, и генератора не получитсякстати в repl.it есть командая строка? мне надоело исправлять программы, чтобы поделиться ими с вами
>>1164686>как так?Ну а что ты ожидал? У тебя там с нуля запускаются отдельные процессы, который только выводят хелловорлд и сразу дохнут. Вывести хелловорлд десять раз быстрее из одного процесса.Ерунду сделал в разбиении по 3. Можно короче и проще.
>>1164686>Но, субпроцессы нужны, как я понял, чтобы делать охуенно быстрые программы.Вообще никакого отношения к производительности субпроцессы не имеют. Откуда ты это выдумал вообще?>Вопрос, как так?Во-первых, что в твоём понимании "мгновенно"? Во-вторых, почему они должны быть быстрее? И, главное, быстрее чего? Твойему коду нужно запустить новый процесс, передать туда какие-то данные, пдождать обработки и потом их получить назад. Это никак не будет мгновенно. Через subprocess ты можешь запускать что угодно, даже аллаха, никакая магия мгновенным ничего не сделает.>кстати в repl.it есть командая строка?Она там на полэкрана, ты что, линзы снял?>а ещё, как вам программа упаковки по 3 штуки?Тебе честно или мягко? yield iterable[i:i+3] и всё. И пофиг, что там может быт не кратно 3, слайсит нормально. Зачем тебе вообще эти None'ы, ты же их не используешь никак. В крайнем случаем можно накостылять yield (iterable[i:i+3] + [None, None, None])[:3].
>>1164765
>>1164765>Вообще никакого отношения к производительности субпроцессы не имеют. Откуда ты это выдумал вообще?В книге написано: "With the advent of multicore processors as the norm rather than the exception,it is more tempting and more practical than ever before to want to spreadthe processing load so as to get the most out of all the available cores."Схуяли это будет tempting, more practical и get most of all cores, если это не быстрее нихуя? Зачем вообще они тогда нужны?>Во-первых, что в твоём понимании "мгновенно"Последовательно достаточно быстро, чтобы для меня выглядело так, будто это мгновенно. >И, главное, быстрее чего?Быстрее той же программы, написанной без субпроцессов. Если я выкину субпроцесс и сделаю for in packages... : print() Строки будут появляться так быстро, что я не замечу разницы между появлением первой и последней - будет выглядеть так, будто они появились все вместе разом. При использовании субпроцесса я замечаю остановки между появлениями строк.>Она там на полэкранаНа полэкрана там интерактивный Питон, а я хочу делать: python script.py args>Тебе честно или мягко?Бля. А None'ы нужны чтобы сохранять структуру - пакет по 3 штуки в каждом.
>>1164782>а я хочу делать: python script.py argsТогда иди арендуй VPS'ку.>Быстрее той же программы, написанной без субпроцессов.>если это не быстрее нихуяТы понимаешь разницу между "использовать все ядра" и "зделоть быстрее"? Особенно вот это вот выданное тобой "охуенно быстрые"Создание процесса затратно. И твоя никчёмнейшая задача по выводу трёх слов вообще практически никакого времени не занимает относительно всего того, что ОС должна сделать для создания нового процесса. Вот если бы ты там протеины считал, то да, вышло бы приблизительно в кол-во ядер раз быстрее.>А None'ы нужны чтобы сохранять структуру - пакет по 3 штуки в каждом.Добавь один раз в конец список из (3 - len(iterable) % 3) % 3 None'ов и слайси по-человечески. Ну, число, которого не хватает до кратности трём, короче, может я тут намудрил немного с формулойю>Если я выкину субпроцесс и сделаю for in packages... : print() Строки будут появляться так быстроНу, а что быстрее, по-твоему, нарезать батон хлеба самому, или приглашать на каждый новый ломтик нового шеф-повара, пускай и позвонив им всем одновременно?
>>1164782>А None'ы нужны чтобы сохранять структуру - пакет по 3 штуки в каждом.Только ты эту структуру сохраняешь для того, чтобы потом иметь дополнительное условие при выводе текста и писать 0 байт при отсутствии слова. Немного бесплезно, не находишь?дополнение
>>1164791>Ты понимаешь разницу между "использовать все ядра" и "зделоть быстрее"?Нет, пока понятия вообще не имею о том, что и как процессор делает. Хочу потом прочитать Архитектуру Тенненбаума, но потом..Пока я вижу это как мужика, который копает мне яму. И если я позову второго, они вдвоем выкопают ее в два раза быстрее.>И твоя никчёмнейшаяПонял, т.е. новые процессы нужны только тогда, когда их работа будет длиться дольше их самих? А насколько затратно плодить треды?
имет смысл да. если у тебя в паралельном процессе уже запущена програма и крутится рантайм который слушает инпуты от операционки. а как это сделать я пока сам не знаю. подозреваю что через порты. например 80 порт отвественен за http запрос. то есть паралельный процесс надо настроить на какой то порт а в питоновском скрипте кидать сериализованные данные на этот порт а выход запоминать в переменную и рассериализовывать данные обратно
>>1164821>А насколько затратно плодить треды? Давай я тебе аналогию приведу хорошую. Вот браузер долго запускается. Зато страницы потом скроллятся быстро с большим фпс. Вот то же самое и с тредами/процессами.Когда-то давно когда трава ещё была зелёная на веб-серверах был CGI. На каждую открытую страницу запускался целый процесс, который отрисовывал всё в stdout и завершался. Потом, внезапно, оказалось что такой сервер очень легко положить просто отправив ему например 50000 запросов. Уж очень много времени уходит на запуск, чтение с диска, парсинг, интерпретацию, прогрев инициализации и подчистку мусора.Потом как грибы после дождя полезли всякие FastCGI и ему подобные протоколы, которые запускают пул процессов, например десяток, приконнекчивают к ним очереди и наливают в эти очереди запросы. Процессы остаются те же, читать с диска экзешки и скрипты каждый раз не надо, выполняется только полезная работа, правда организовать такой пайплайн сложнее.Дальше подумали что вот как-то неправильно это, что процесс ждёт например базу данных, когда можно посчитать что-нибудь для других клиентов. Или какой-то медленный клиент очень долго заливает запрос, всё стоит не шевелится, а тысячи других ждут. Вот тут уже закатывается асинхронность. Асинхронные процессы точно так же спавнят в нескольких экземплярах (обычно равно количеству ядер процессора) и они максимально используют возможности процессора обслуживая сразу одновременно всех, и быстрых, и медленных, и там где что-то ждётся долго извне, при этом могут принимать новые подключения. Соответственно сложность организации такого кода ещё выше чем в простом пуле процессов.Как можешь видеть, здесь есть tradeoff, надо выбрать либо скорость и удобство разработки (чтобы попроще), либо оптимальность (так будет трудозатратнее). Ситуация ещё нивелируется тем, что даже если ты пишешь например на джанге, то ты всё равно используешь асинхронность, например разворачивая джангу под nginx. В итоге nginx накапливает медленные запросы и джанге уже ждать ничего не надо, она просто хуярит циклом приходящие в готовом виде запросы и выплёвывает ответы. Сама джанга обычно под gunicorn/uwsgi которые делают пул процессов этой джанги и предотвращается CGI. Как видишь, кучу проблем за тебя уже решили, и даже последний долбоёб уже сможет поднять на джанге вполне сносно работающий сайт.
>>1164614 (OP)Почему у питона на оппике полоска спермы во рту?
>>1164893
Почему кодировка и ошибки - unexpected argument? Вон же они, прямо в документации.
Посоветуйте пожалуйста годной литры по программированию и алгоритмам
>>1164929Ещё вопросикЯ правильно понимаю, что дочерний процесс, получающий данные от главного через Popen.communicate(data) не продолжит выполнение, пока главный не вызовет Popen.stdin.close()? А главный остановится на получении данных из Popen.communicate() пока дочерний процесс не завершится? Или как это работает?
>>1164929Не тот пифон?
>>1164821>Нет, пока понятия вообще не имею о том, что и как процессор делает.Для простоты считай, что несколько ядер = несколько процессоров. Ты можешь выполнять параллельно несколько задач, но каждая из них сама по себе быстрее работать не будет. Прирост в скорости идёт только за счёт параллельности (т.е. только для всей программы в целом, а не какой-то одной функции).>А насколько затратно плодить треды? Ну, менее затратно, чем процессы. Очень примерные цифры можно замерить попробовать - https://repl.it/repls/ConsiderableUnwrittenLists>И если я позову второго, они вдвоем выкопают ее в два раза быстрее.Если яма достаточно большая, чтобы её, во-первых, можно было не мешая друг другу копать с разных сторон (один процесс не зависит от результатов другого), а во-вторых, длительнсоть выдачи тобой им инструментов и средст защиты (ты-то один, запускаешь процессы всё равно последовательно) значительно меньше, чем собственно их работа, то да, примерно в два раза быстрее и будет.>когда их работа будет длиться дольше их самихЛибо когда тебе зачем-то нужна параллельность на многопрессорных системах.
>>1164940Тот
>>1165041Проверь настройки подсветки в инспекции. Там можно указывать совместимость с разными версиями и оставь только 3.6
я один что ли вкатываюсь? почему никто другой тупые вопросы не задает?Я могу хранить строки в set() мне нужно вытащить все уникальные имена из файла кроме как в виде (string, ) ?
>>1165327byte? unicode для >= 2.7 ещё
Перекатываюсь из шапротреда. Хочу написать простенькую приложуху на киви, для андройда. Вопрос. Как в питоне отделается модуль от представления, по аналогу с паттерном MVVM? Или никто такой хуйней не заморачивается?
Кто умеет на хорошем уровне работать с pyinstaller?
>>1165327>почему никто другой тупые вопросы не задаетДа тут весь тред тупых вопросов.>Я могу хранить строки в set() кроме как в виде (string, ) ? Переформулируй свой вопрос. Чем тебя смущает хранение строки в виде, эм, строк?
>>1165332Так последовательность байтов это тоже последовательность и set() разобьет ее на элементы.>>1165366Меня смущает хранение строк в виде кортежей с единственным элементом.
>>1165371>хранение строк в виде кортежей с единственным элементом.А что и такое бывает в этом вашем питоне?
>>1165404da
>>1164614 (OP)че думаете по поводу "Программирование на Python 4-e издание"?
>>1165371>Меня смущает хранение строк в виде кортежей с единственным элементом.Гарантирую, что каржет из одной строки имеет только уникальные строки. Зачем ты это в сет пихаешь? Если ты хочешь оставить только уникальные строки из какого-то списка, то и пихай этот список в сет. Иначе ты хуйню какую-то творишь.
>>1165430>каржеткортеж, конечно же.
>>1165348Разве никто не пилит независимые исполняемые файлы? Чзх?
>>1165430>Гарантирую, что каржет из одной строки имеет только уникальные строки.Ну, да... уникальную 1 строку из которой он и состоит.>Если ты хочешьЯ хочу получить все теги из xml файла. И делал сразу создание сета / добавление тегов в него. Но со списком проще, но и места наверное больше будет забирать до превращение в сет.
>>1165440> И делал сразу создание сета / добавление тегов в него.Покажи свой код, короче.Чем тебя, например,>s = set()>for tag in tags:> s.add(tag)>l = list(s)не устраивает? На выходе получаешь список из уникальных тегов. И не нужно никаких туплов непонятных. Зачем тебе он вообще понадобился? Потому что ты написал set(string) и оно по буквам разбилось?
>>1165446Забыл про .add, делал .update и получал разбивку по буквам, поэтому приходилось делать .update(tupe()). Спасибо.
>>1165440>Но со списком проще, но и места наверное больше будет забирать до превращение в сет.Тебе жалко память? На микроконтроллере тостера вычисляешь, что ли?Я так-то имел в виду, что у тебя на входе где-то должна была быть некая коллекция строк. Вот её сразу и преобразуй в сет.дополнение
>>1165412Лучшая книга эва
Как так-то? Почему второй вариант быстрее первого? Ведь в первом используется генератор т.е. все вычисляется на лету и сразу используется join'ом, а во втором сначала в память складывается целый список, а потом только работает join. И почему третий вариант быстрее первых двух? Ещё в прошлом треде кто-то из анонов кинул ссыль на статью, где говорили: map() и прочие ненужны, list/generator comprehension работают как охуенный синтаксический сахар.
>>1165482Ну вот я сделал немного похожие функции. Так же есть функция с выражением-генератором (я думал, самая быстрая), есть с выражением-листом (я думал, вторая по скорости будет, и есть третья, вроде как есть первая (первая а не вторая т.к. не создает дополнительных листов) без синтаксического сахара. А в итоге все вообще не так, как я думал. Где я ошибаюсь?
Вкатываюсь в питон, уже начал читать книги с закрепа. Вопросы:Можно ли не ебаться с cmd для запуска? Можно ли скачать какую нибудь ide, чтобы по f9 запускалась прога в консольке? Есть какая нибудь замена пай > чарму? она у мння пиздец лагает
Пишу йоба-бота для игры. Нужно имитировать поворот камеры мышей. Как это сделОть?
>>1165520>Можно ли скачать какую нибудь ide, чтобы по f9 запускалась прога в консольке? в саблайме если поебаться с билдом, можно так сделать, скорее всего>Есть какая нибудь замена пай > чарму? она у мння пиздец лагаетwing ide или саблайм с плагином "анаконда"
Двощик, чёт я запутался с направлением. Сначала думал в data science податься, но не совсем понимал что это такое гадание на кофейной гуще, графики, а с программированием как-то мало общего, да и с нуля джуном точно хуй куда возьмут.А как же другие направления python? Что, неужто только web?
>>1165465Я только начал вкатываться в python, до этого дрочили паскалем в школе. Показалось легким, решил взяться за питон. Выбрал книжку, но че-то только первые 2 главы осилил, по мне нудноватая немного.
>>1165622а ты как хотел?я когда учил то тоже засыпал. По мне чем лучше книга тем больше от неё засыпаешь.
>>1165632Ну, я просто думал, если мне нудно - значит мне не интересно, я тащемта еще попробую осилить книгу, если совсем скучно будет, то прекращу попытки вкатывания в it
>>1165636ну ёптваю)
>>1164614 (OP)Почему я должен выбрать Питон, а не Го, например?
>>1165632Двачую. Сон - часть процесса обработки новой информации мозгом.
>>1165653Да. Можно привести пример как обкуренный Кастанеда засыпал на берегу оросительной канавы, когда начинал видеть необъяснимые вещи, а Дон Хуан его будил.
Так, поцыки: пишу бота для телеги, бот, принимая команду от юзера, должен запускать функцию, которая делает некоторые вещи.Звучит легко, ну запустил и запустил, но основной скрипт, который вечно чекает новый запросы стопорится, пока вызванная функция не закончит свою работу.Вопрос в том, как запустить функцию на фоне, или другой питон-файл на фоне, только со входными параметрами.Сама функция принимает два аргумента, обязательных. Как сиё извращение реализовать? Двач, помогай.
>>1165663Поздравляю, пришло время узнать, что такое асинхронные запросы
>>1165465>эвКто такой? Читаю Programming in Python Саммерфилда, потом собираюсь Лутца.
>>1165668я вот сейчас Лутца читаю, но я как понял, он вообще для тех, кто раньше с программированием не сталкивался
>>1165668алсо, под "эва", он имел ввиду слово "ever", мол самая лучшая книга
>>1165660В отличие от компа у воспринимаемой человеком информации есть такой параметр, как ценность. Комп не может отбросить данные посчитав их малоценными. Т.е. может не обрабатывать данные выходящие за пределы условий задачи, но он не обладает самостоятельным критерием плохих или хороших данных.Комп - идеальный вычислитель, а человек - это работающая биологическая задача, запущенная на аналоговой вычислительной машине. У человека есть критерий ценности данных.Мозг глубоко перерабатывает только ценную для него информаци. Все таки астральные галюны Кастанеды не были ценными для его мозга, а засыпал он от наркотического опьянения.мимо аутист
Хелпуйте дебила. В книжке упражнение, мол запустить сохраненный сценарий из командной строки(казалось, куда проще), но у меня не получается.C:\Users\User\AppData\Local\Programs\Python\Python36 - полный адрес. Я пытаюсь ввести его в строке так:C:\Users\User\AppData\Local\Programs\Python\Python36 script1.py , но у меня выдает это: "C:\Users\User\AppData\Local\Programs\Python" не является внутренней или внешнейкомандой, исполняемой программой или пакетным файлом.
>>1165701Ставь прыщи в виртуалбокс - не сношай мозг. В ghsof[ быстрее поймешь, что такое executable path
Если в списке надо, например, 3 подряд идущих элемента заменить на одно и то же число, можно это сделать более элегантно, чемlist6, list6[i+1], list6[i+2] = 5, 5, 5 ?
>>1165715somelist[i:i+3] = itertools.repeat(5, 3)
>>1165715list6[i:i+3] = (5,)*3
>>1165371>>> a = 'you'.encode('utf-8')>>> ab'you'>>> b = 'faggot'.encode('utf-8')>>> bb'faggot'>>> set([a,b,b,a, b'sasat', 'faggot']){b'faggot', b'you', 'faggot', b'sasat'}>>> set(a){121, 117, 111}
>>1165327В set() можно хранить объекты любого иммутабельного класса (на самом деле нужно чтобы у класса был определён __hash__(), но это неважно).str в питоне - иммутабельный тип.(str, ) - тоже иммутабельный. Но зачем, если можно просто str?
Подскажите самую нормальную книгу на английском, или пару книг, по питону. Там в каталоге питона все они указаны, что есть на рутрекере. Что качать и начинать изучать? https://rutracker.org/forum/viewtopic.php?t=3693656
>>1165783Если не ньюфаг в погромировании - достаточно навернуть 'Byte of Python', а дальше начать писать какой-нибудь пет-прожект, читать офф. доки и гуглить возникающие вопросы.Если ньюфаг или хочешь таки навернуть толстую книжку с разжевыванием - то "Mark Lutz - Learning Python".Вообще для варианта "не ньюфаг" есть ещё вариант - офф. туториал: https://docs.python.org/3/tutorial/Но его я не смотрел, не знаю насколько годный ли он, пусть анончки подскажут.
>>1165789Как, ты тутор от Гвидо не смотрел!!!!1111
Посоны, пишу скрипт который запускает 10-20 субпроцессов ffmpeg (просто правлю теги, т.е. -metadata), ну и перед этим ffprobe.Есть смысл параллелить их с помощью asyncio.subprocess или последовательно они будут выполняться примерно так же быстро?
Здравствуйте, подскажите, пожалуйста, вот есть полиномиальная регрессия в sklearn, которая строит предсказывающую кривую по данным точкам как на картинке.А есть ли библиотеки, которые эту полиномиальную регрессию распараллеливают?Задача следующая, для университета я должен распараллелить или с помощью нескольких потоков выполнить вот эту полиномиальную регрессию для нескольких сотен точек.
>>1165810https://stackoverflow.com/questions/38601026/easy-way-to-use-parallel-options-of-scikit-learn-functions-on-hpc
>>11658101) смотришь алгоритм в вики2) реализуешь без параллелизации самостоятельно3) используя модуль muliprocessing (multithreading не имеет смысл использовать, он ограничен GILом) парадлелишь матричные операции
>>1165822О, прикольно, спасибо большое, пока не разобрался, но выглядит очень обнадеживающе, вроде, пишут, что таки можно прямо sklearn код параллельно выполнить.
>>1165823>реализуешь без параллелизации самостоятельноНе, я сам - кусок говна и получится закономерное гумно. Поэтому я только чужой код использую.
>>1165822>>1165824>параллельно выполнитьОй, простите, я описался, многопоточно выполнить
>>1165828>>1165825У тебя есть прекрасный шанс это исправить, пока ты учишься в вузике. Вот на реальной работе уже используй способ с стековерфлоу выше.
>>1165809Субпроцессы и так уже параллельны. Ну, если только ты там не наговнокодил с subprocess.call или wait() в лупе, конечно.
>>1165830Так я дремучий подпивасный быдлос, ясен пень, что никакие нейронные сети и машинное обучение мне не светит. Просто я заканчиваю бакалавриват и доделываю дипломную работу.
Посоветуте книгу для "аппер интермидиэйта+", в которой не объясняются базовый синтаксис и тому подобное, а написано про какие-то интересные фичи питона, чтобы покайфовать от чтения.
>>1165848Пайтон анлокед или флюент пайтон
Бля поясните, что питон делает в вебе?В смысле, когда вакансии программиста питониста для веба, в требованиях не пишут JS, HTTP, CSS, а пишут конкретные фреймворки типа джанго, фласк, и ещё sql\nosql. Я просто не особо понимаю сути работы. Как вообще работа питониста выглядит, чем он занимается?
>>1165809> 10-20 субпроцессовКстати, сколько надо делать субпроцессов? Вот анон выше мне отвечал на мои тупые вопросы, что если решать задачу с субпроцессами, то будет примерно в количество ядер быстрее. Но очевидно есть предел субпроцессам, иначе бы их просто 10000000 на любую задачу запускали бы и она решалась мгновенно. Так какое оптимальное количество субпроцессов? И кстати Питон/ось как догадываются, что субпроцессы должны быть на разных ядрах выполняться? >>1165823>multithreading не имеет смысл использовать, он ограничен GILомЗачем в Питон встроена нерабочая фича?мимодругой
>>1164614 (OP)Если здесь есть совсем ньюфаги, рекомендую периодически заглядывать на Гикбрейнс, там есть халявные курсы, которые даже онлайн смотреть не надо - запись выкладывают потом. А в онлайне можно вопросы позадавать.Вот, например:https://geekbrains.ru/courses/112
Ленился год, теперь решился окончательно взяться за питон+джанго+хтмл+цсс. и.т.д.Знаю какие-то основы, всего понемногу, но вкатиться будет явно легче.Что я прошу у вас, прошу я годные туториалы/книги/лекции, где будет интересно и инфа будет более-менее рассортирована. Спасибо.
>>1165858https://www.youtube.com/watch?v=izYp8oaWohY
>>1165708немного не понял что ты имеешь ввиду под "прыщами"(я нюфаг), + я юзаю PyCharm;
>>1165902>я юзаю PyCharmА я его установить не могу, лол. Инсталлер зависает после выбора папки установки. Ну и черт с ним, Блокнот Два Икса наше все.
>>1165911> Блокнот Два ИксаW A T?
питоняни, объясните позязя в этом куске что именно происходит в цикле while 1: ...и что за синтаксис вообще такой while 1 а не while True?
>>1165913Бесконечный цикл. Почему 1 вместо тру? Дебил считает, что это ахуенная оптимизация, минификация кода...
>>1165915ну вот я запускаю его потом запускаю клиент, клиент шлёт месадж и этот сервер сразу вырубается, не позволяя прислать ему еще меседж. Почему так, а цикл бесконечный.
>>1165916> conn.recv(1024)Вот почему
>>1165921тут тоже, но он крутится бесконечно
>>1165912
>>1165912Я думаю он имеет в виду Notepad++
>>1165924В этом примере у тебя в цикле иф/елсе, а в том обрабатываешь неправильно выходит. Копипастить надо тоже с умом.
>>1165927Кретина кусок>>1165928Плюс называет иксом, классический уебок.
>>1165930спасибополучается
бля какого хуя вылазиит [Errno 48] Address already in useнихуя непонятно блять
>>1165913>while 1 а не while True?Хипестор выделиться пытается. В 30-летнем ANSI C нет булеанов и true/false (костыляли просто макросы/дефайны на 1 и 0).Возможно ещё боится, что какие-то сумасшедшие пользователи второго питона переназначат True в 0 и луп не сработает.>>1165913>это ахуенная оптимизацияВо втором питоне же действительно оптимизация, лол. https://stackoverflow.com/questions/3815359/while-1-vs-for-whiletrue-why-is-there-a-difference на треть быстрее!>>1165949Сокеты надо закрывать, потому что.>>1165866>если решать задачу с субпроцессами, то будет примерно в количество ядер быстрее.>иначе бы их просто 10000000 на любую задачу запускали бы и она решалась мгновенно.У тебя с логикой не очень. Откуда ты вот "мгновенно" это взял после фразы о количестве ядер? У компьютера ограничены ресурсы, и максимальная производительность и достигается использованием всех имеющихся ресурсов. Вот по сравнению с однопоточным вычислением, многопоточное и будет максимум в кол-во ядер быстрее.>Так какое оптимальное количество субпроцессов?Зависит от задачи, но обычно близко к количеству ядер процессора (если числа, то ровно можно). >И кстати Питон/ось как догадываются, что субпроцессы должны быть на разных ядрах выполняться? Не должны. Но если есть свободные ресурсы, нормальная ОС постарается их использовать. https://en.wikipedia.org/wiki/Scheduling_(computing)>Зачем в Питон встроена нерабочая фича?Она не нерабочая (ну, условно говоря), просто посчитал Гвида, что так будет лучше.
Графика в pyqt является же векторной? Всякие там QGraphicsItem'ы, а QSvg является классами для обработки svg не более? Пикчи через pixmap?
>>1165983>если числа, то ровно можноЕсли числа дробишь. И нужно.
>>1165866> Зачем в Питон встроена нерабочая фича?Треды отлично работают с тем кодом, который GIL отпускает: сетевое io, файловое io, системные вызовы, сишные либы (которые по-людски написаны).
Призываются те, кто юзал django-rest-framework. Нужно сериализовать лист кверисетов использовал модуль для построения tree-структуры и вызвал метод показать предков, сейчас сериализатор сделан через ModelSerialize и не обрататывает такое, только кверисеты, пока что вижу только два пути, либо руками переложить все в питоновские дикты в листах и заюзать стандартный джанговский JsonResponse или попробовать сделать хитрый сериализатор, который обрабатывал этот кейс.
>>1165931Говно изо рта вынь.
Есть последовательность dict'ов с одинаковыми ключами, нужно преобразовать их в один dict с последовательностями значений по ключу.В общем как на скрине. Всё работает, но это достаточно "питонистический" способ или можно короче?Чёт мне часто такую "сцепку" в своём говнокоде приходится делать, наверное стоит создать utils-модуль и создать там функцию chain_dicts_values. Только chain_dicts_values какое-то хуёвое название, но лучше я придумать не могу.Наверное я хуйнёй заморачиваюсь.
>>1166087Оказывается, что стандартный JSONRenderer из DRF умеет обрабатывать питоновские объекты, так что обошелся ручным формированием запроса и последующим вызовом Response
>>1166139Я дважды тупой, оказывается Сериализаторы просто отдают словарик, если натравить его на объект и руками можно ничего не перекладыватьКОД ПИШИ@ДОКУМЕНТАЦИЮ НЕ ЧИТАЙ
Потеребите питончика
Так блэт Я правильно понимаю, что порты используются только на сервере? Я сначала думал, что интернет работает так: на клиенте и на сервере есть по 2 сокета. Клиентский для отправки серверу, клиентский для получения ответа, серверный для получения ответа, серверный для отправки клиенту ответа. В клиентском для отправки делают .connect() нацеленный на адрес и слушающий порт сервера, клиентский слушающий просто привязан к слушающему порту, серверный слушающий привязан к слушающему порту, а серверный для отправки создается нацеленным на адрес и слушающий порт клиента после получения реквеста ебать написал. Но. Но. Но. Я правильно понимаю, что все эта хуйня и работает на самом деле так, как я охуенно нарисовал? Порты задействованы только у сервера, и сервер их слушает. У клиента же только 1 сокет, который тот нацеливает на адрес, слушающий порт сервера. А после .connect() клиента .accept() сервера возвращает этот же клиентский сокет. И мне не нужен ни адрес клиента, ни его порт т.к. получить клиентский сокет это почти тоже самое, что получить object reference на объект в рамках одного скрипта? И после этого я могу получать данные от клиента и отправлять ему что захочу и сколько захочу раз используя этот сокет? (в моем рисунке - Ssocket) Это так работает? Если да, зачем .accept() возвращает адресс, который был дан .connect() методу в клиенте? Какая разница между .connect("", 1488) и .bind("", 1488) для создания слушающего сокета сервера? Какая разница между передачей в эти методы "", "localhost" и socket.gethostname()? Как узнать доступные порты и сделать это динамически? А то я укажу серверу слушающий на 1488 свободный у меня, а у другого пользователя 1488-ой занят чем-то, и все полетит.
>>1166303Этот пиздец читать не буду, но удваиваю реквест о точном понимании портов и прочей лабуды, что анон выше упомянул.
>>1166303>>1166311На википедии всё есть.
>>1166312Хочется, что бы кто-то разжевал и сказал своими словами. Согласись, так лучше.
>>1166326Вряд ли кто-то будет забесплатно разжёвывать такую объёмную тему.
>>1166311порты это интерфейс юникса. что не понятного?
>>1166332так же как и файлы это интрфейс юникса... то есть файл и порт в юниксе по сути одно и тоже
>>1166334Да! Все есть поток байтов
Где можно скачать Python Tricks: A Buffet of Awesome Python Features ?
>>1166332>>1166334Яркий пример того, что это сложная тема и изучать её лучше на википедии англоязычной
>>1166331Так объемно то не нужно. Можно просто разобрать по частям >>1166303 написанное и где-то исправить/объяснить.
>>1166303Очень грубо и, вероятно, местами неточно, но хоть как-то.Сокет это сокет, как розетка. В него можно что-то вставить. В данном случае, ты устанавливаешь TCP соединение, вставив TCP провод в сокеты сервера и клиента.Так как подключается клиент, ему нужно знатЬ, куда, собственно, подключаться. Для этого у сервера и есть адрес + порт, указывающие на, собственно, сервер и конкретный сокет, ожидающий этот тип подключения.>ебать написалНихуя не понятно, что ты написал, так что и ты, наверное, нихуя не понял. Соединение может быть двусторонним.>Если да, зачем .accept() возвращает адресс, который был дан .connect() методу в клиенте?Чтобы сервер знал, откуда пришло соединение?>Какая разница между .connect("", 1488) и .bind("", 1488) для создания слушающего сокета сервера?Во-первых, connect это, как можно догадаться из названия, подключение к чему-то. Это не создание сокета, и уж тем более не слушающего. В connect ты указываешь удрес удалённого терминала, а в bind — своего.>А после .connect() клиента .accept() сервера возвращает этот же клиентский сокет. <...> Это так работает? Хуй знает что ты там понаписал. Нет, не этот же, потому что они на разных, чёрт возьми, машинах находятся. У сервера свой сокент, с локальным и удалённым адресами (laddr, raddr), а клиента свой. Да, возвращённый accept'ом сокет это тот, к которому клиент подключился, у него есть инфа об адресе клинета и прочем.>И мне не нужен ни адрес клиента, ни его портНужен. И сокет имеет эту информацию. Иначе бы ты нихуя передать не смог.>Какая разница между передачей в эти методы "", "localhost" и socket.gethostname()?локалхост это локалхост, то есть исключительно с этого компьютера сокет доступен. gethostname(), ну, hotsname компьютера и возвращает (в гугл иди), а "" биндит на всех интерфейсах, т.е. "0.0.0.0".>А то я укажу серверу слушающий на 1488 свободный у меня, а у другого пользователя 1488-ой занят чем-то, и все полетит. На сервере ты указываешь, какой свой порт слушает сервер, и клиент туда подключается. Когда ты заходишь в браузере на yandex.ru, на самом деле браузер просто подключается к адресу "5.255.255.55" в 443 порт.На клиенте ты можешь использовать любой порт. Обычно система сама выбирает рандомный свободный, но если очень надо, ты сам можешь сначала забиндить на клиенте (клиентом!) сокет и уже с него подклчюаться к серверу.
>>1166515>Если да, зачем .accept() возвращает адресс, который был дан .connect() методу в клиенте?Только сейчас заметил. Нет, он не этот адрес возвращает, а адрес клиента.
>>1166390Без объёмного объяснения это всё бесполезно.
Питонач, посоветуй по MongoDB+python что-нибудь реально годное, пожалуйста.
»1165858 Ну блять, ну дожили. Ты и месяц не изучаешь видимо программирование вообще? Что делает? Ну например хуярит вилкой скрипт или какую либо серверную апку, которую ему сказали сделать, попутно подглядывая в гугл, потом ебёт разметку в хтмл дивах (которые ему позволили ебать) твердостоящим членом, потом обмазывает её ЦСС, всовывает туда все свои формы и всякие левые написанные макаками ДЖСки, дабы не утруждался господин производством ДЖСок. Потом господин снимает app.run(Debug=True) и получает по ебалу ошибки и триппер в придачу. Он пишет тесты и говорит, что костыли это фичи, а пеп8 для дебилов, спустя некоторое время он заебывается, достает всю команду и понимает, что надо было читать про классы и модули, а он криворукое ебло не учел нормальный импорт. Получает кривожопого гомункула, которого отдает дезигнерам и прочим фронтенд гомосексуалистам, они охуевают от скилл-лвла божественного 300к/сек питон девелопера, который месяц вместо работы читал как вообще это сделать, причем на двачах и захуярил все за два часа, причесывают его, одевают в платьице, раскрашивают ему ебало дорогой косметикой и дают девопсу, дабы он заставил это все говно работать, он матерится, брызгает духами на этот полуживой труп, делает ему разряд электрошока с иньекцией адреналина, чтоб хотябы дергался и отправляет на ночь (утром релиз) тимлиду, и пускай с этим всем ебется тимлид, потому что это работа тимлида - доебывать то, что уже изнасиловали остальные. Тимлид утром в полном ахуении и с печатью презрения к коллегам идет к руководителю и нагло-нагло пиздит, что все охуительно-восхитительно и работает как бог работал первые 6 дней, но на стадии финального релиза нужно бы ещё спецов привлечь и вот к финальному релизу вызывают батю фулстака 10 лет опыта чистить вилкой говно за долбоебами круглые сутки, который с помощью магии преобразовывает и рефакторит говно в золото. Магия? Нет. Чистая алхимия.
>>1166652Вы мне денег должны, я вам краткий урок провел на тему -цикл разработки.
>>1166655Чёт в голос. Пиши ещё?
>>1164635насчет винды нескажу, но в unix все проще некуда. import subprocesssubprocess.call("clear")subprocess.call(["echo", "-e", "Hello\nI'ts me\nMario"])
>>1165465это на уровне погрешности, но подумай вот у тебя есть сразу список и ты вычеркиваешь или ты вызываешь итерацию по генератору что быстрее? генератор выгоднее в плане экономии памяти.
>>1165647Выбери го.
Поясните за реакт с рест фреймворком.Я так понял, считается хорошим тоном отдельно пилить реакт приложение от сервера.Я вот достал что-то из своего апи, которое лежит на pythonanywhere и хочу это там же показать (ну на том же сайте), что нужно делать?
>>1166799Тобой выбрана неправильная дверь.Клуб смузихлебов двумя тредами ниже
Линуксогоспода, каким IDE пользуетесь?
>>1166857joeIDLEWing
>>1166869Спасибо
>>1166857EMACS серьёзно
>>1166877Так это же редактор.
>>1166857Блокнот два креста, разумеется.
>>1166881Ты ошибаешься, это универсальная IDE.
>>1166857vim
>>1166803
>>1166956я чуть клаву сёдня из за него не разъебал
>>1166857vim, idle
>>1166958> 2undefined17Свежо.
Как цивильно прочекать, подаётся на ввод число или нет? 'Isnumeric' ведь возвращает false при числах с запятой.
привет друзья. в каком моменте я проеблася https://repl.it/repls/TrustyIllfatedLaws ? есть коннект с базой wordpress, хочу вывести в таблицу (Все формы в Qt) данные из этой базы. на пике база и вывод, почему то проебались id, term_group, но даже не это беспокоит, а самое главное перескакивает через 1 запись.
>>1164614 (OP)Захотел я, значит, завести отдельные fail очереди для очередей rq. Немного погуглил и, беглым взглядом, ничего конкретного не нашёл. Насколько я понял, надо завести экспшн хэндлер который, в зависимости от очереди, будет пушить таск в соответствующую fail очередь. Кто-нибудь таким занимался? Есть пример, чтоб не напрягаться особо?
>>1167028Р Е Г У Л Я Р О Ч К И
>>1165636Мне она начала казаться скучной где-то с функций, генераторов, лямбд и областей видимости. Но вот от ООП я кончил.
>>1165520Пишарм нужен только для каких-то крупных проектов. Для обучения хватит какого-нибудь текстового редактора с подсветкой синтаксиса
>>1167028def is_digit(string): if string.isdigit(): return True else: try: float(string) return True except ValueError: return False
>>1167074Блять
>>1165520VSCode
Мне правда нужно осознать, что за срань тут написана сразу после того как я научился запускать модули? Или просто такие моменты всквозь прочитывать и они потом подробнее описываются?
>>1167062Пасиба, а то вот такой костыль запилил уже, теперь чувствую себя инвалидом.
>>1165848http://www.russchooljp.com/wp-content/uploads/2017/05/Python.dlya_.detei_.pdf
>>1167082>eval пользовательского ввода
Пользуется тут кто атомом как IDE?
>>1167082А ещё камел кейс, читай pep8
>>1167081Здесь главное уяснить, что командовать интерпретатором можно на языке Си, а не только на питоне. Это нужно при написании модулей с требованиями к производительности. Глубже можно не вникать.
>>1167121Не пользуйся Атомом, сразу переходи на VSCode.Говорю как человек который долго терпел Атом, но в итоге таки дропнул это тормозящее говно.
>>1167123Да, забыл.>>1167118А что не так здесь?
>>1167135Тому что можно ввести os.remove, вообще нельзя выполнять пользовательский ввод, который имеет гипотетическую возможность все похерить, это как неэкранированный drop database; в sql
>>1165701>C:\Users\User\AppData\Local\Programs\Python\Python36 - полный адресэто не полный адресполный адрес вот:>C:\Users\User\AppData\Local\Programs\Python\Python36\python.exeи чтобы запустить script.py к нему тоже нужно указать полный путьа вообще добавь папку Python36 и Python36\Scripts в переменные окружения (загугли как, это просто)потом ты сможешь запускать python просто введя python в командной строкеможно еще установить переменную окружения PATH через команду:set PATH=%PATH%;C:\Users\User\AppData\Local\Programs\Python\Python36;C:\Users\User\AppData\Local\Programs\Python\Python36\Scripts
>>1165715>более элегантноговнорубист, кочуй отсюдова
>>1167143Да уж, ну, буду знать, спасибо.
Нормальную я смехуечку заебендил?
>>1167172Нет.
>>1167177Да ну, смешно же.
>>1167017прости, что написал тебе аж через 3 дня после того, как новость появилась на официальном сайте
>>> math.fmod(-5, 180)-5.0>>> -5 % 180175Может кто-то объяснить, пожалуйста?
>>1167188https://youtu.be/KdZ4HF1SrFs?list=PLRDzFCPr95fK7tr47883DFUbm4GeOjjc0&t=2854
>>1167189прикольно, спасибо
>>1167047>for (query) in cursor:> sqlRow = cursor.fetchone()Что, по-твоему, делает первая строка? Почему там query? Ты query уже заэкзекутил. Подсказка: запринть свой "query" внутри лупа. Алсо, скобки там совсем не нужны, они всё равно абсолютно ничего не делают.
Почему нет Лучано Рамальо? По мне так очень годно.
Пиздец я охуеваю что в треде твориться, два года назад за такое убивали нахуй
>>1167118ну если бетховен-кошельки так делают, то и анончику можно
Анон посоветуй что-нибудь очень годного для вката в mongodb а затем и в pymongo.
>>1167282Хотя наверное следует спросить нужно ли вообще сейчас изучать MongoDB?
>>1167285Чем тебя postgres не устраивает?
>>1167287Ну на данный момент у меня есть т.н. "база" в файле json, и пожалуй логичнее будет ознакомиться с MongoDB.
>>1167289Ну тогда читай статейки и документацию. Разве такая проблема найти материал?
>>1167289Постгре умеет хранить и работать с JSON: https://www.postgresql.org/docs/current/static/functions-json.html
>>1167292Я просто хочу прикрутить какую-нибудь базу к своему приложению, чтобы познакомиться с "БД", прочувствовать, что там и как, но чтобы это к тому же было актуально, а не какая-нибудь забытая забитая технология. Что мне выбрать? Postgres?
>>1167294Да. Реляционные БД со сцены в ближайший десяток лет никуда не уйдут, а постгре - лидер среди опенсорсных реляционных БД.
>>1167300Что такое постгре и зачем?Хочу вкатиться, думал после 2х книг по самому Питону начать читать про sql
ананас, помоги ньюфагу. Дома завалялась книга Head First Python. Как она, годная, стоить с нее начинать или есть варианты лучше?
>>1167324Ты хоть автора укажи. Таких книг наверняка не одна.
>>1167327Paul Barry автор. такая обложкада не знаю, вроде с таким названием одна книга
>>1167330Это Гарри Поттер?
>>1167332kek, да похож
>>1167333Хз, такую не знаю.Вообще всё зависит от уровня твоего. Если не прогал раньше -- то можно вполне любую(имхо) книгу брать и читать. Пошерсти оглавление, если раньше прогал, и определи, насколько полезна она будет.
>>1167337ок, спасибо
есть ли у объекта clear up перед тем как сборщик мусора его сожрёт?
Как пилить красивые коллажики в питоне?Какую библиотеку посмотреть?
Кортежи в которых есть мутабельные объекты (например (1, [1,2]) - первый элемент иммутабельный, второй нет) являются хэшируемыми или нет? Их можно использовать в качестве ключей словаря?Чёт я запутался. Для вычисления хэша кортежа используются просто айдишники объектов-элементов (что как-то тупо) или их хэши (а следовательно если есть мутабельный элемент то хэш кортежа вычислить нельзя)?
>>1167365> являются хэшируемыми или нетнет> Их можно использовать в качестве ключей словаря?нетУ листа нет метода hash, он не хэшируется.
>>1167367Угу, разобрался. И запомнил то иммутабельный != хэшируемый. По крайней мере в терминах Питона.
>>1167374Нет, как раз таки правильно что иммутабельный == хэшируемый, но нужно чтобы он был полностью рекурсивно иммутабельным.
>>1167374set не иммутабл (frozenset)и иммутабельный == хэшируемыйa = (1, [1, 2]) a[1].append(10)
>>1167128ну да, VSCode же не тормозящее говно. хз как люди строем подумали, что на электроне получаются пригодные в работе приложения
>>1167381Ну не знаю, мне нравится. Пробовал все, что есть под венду и линукс. Винг вообще не понравился из--за шрифтов
ПрояснитеПитон это макакство или всё же серьёзны дела?
>>1167420да
>>1167376tuple в пайтоне всё же называют иммутабельным типом, не?>>1167377Речь была о кортежах.
>>1167428tuple иммутабельный. Это значит только то что в tuple ты не можешь что-то добавить, не можешь удалить, не можешь записать по индексу. Но внутри tuple могут быть мутабельные объекты. И вот чтобы всё стало hashable нужно чтобы внутри тоже были иммутабельные.Ещё раз, вычисление хэша проходит по всей структуре вглубь, не только по значению в вершине.То что сам по себе тип хэшируемый ещё не гарантирует что все возможные структуры на его основе будут хэшируемыми.
>>1167428>Речь была о кортежах.>>type(a)<class 'tuple'>>tuple в пайтоне всё же называют иммутабельным типом, не?Да, но только если он не содержит в себе других мутабельных типов.
>>1167428>Речь была о кортежах.Так в твоём кортеже set есть, вон именно он и не хешируемый.>tuple в пайтоне всё же называют иммутабельным типом, не?Он и есть иммутабельный.
Пишу скрипт который выполняет ряд действий для нескольких файлов (кочает, проверяет хэш и т.д.).Как хэндлить фейлы? Нужно откатить действия и принтануть инфу об ошибке (для скачивания - урл на котором упало и почему упало, для хеша - просто на чём сфейлилось).Додумался до схемы на скрине, но блять, использовать Эксепшены для тупого ветвления скрипта это же хуёво, не?
>>1167430>>1167431>>1167436>Он и есть иммутабельный>tuple иммутабельный>иммутабельный == хэшируемый>на деле tuple хэшируемый не всегдаВы определитесь, а?
>>1167449ImmutaleAn object with a fixed value. Immutable objects include numbers, strings and tuples. Such an object cannot be altered. A new object has to be created if a different value has to be stored. They play an important role in places where a constant hash value is needed, for example as a key in a dictionary.ИThe only operation that immutable sequence types generally implement that is not also implemented by mutable sequence types is support for the hash() built-in.НоAttempting to hash an immutable sequence that contains unhashable values will result in TypeErrorХули тебе непонятно-то
>>1167465Для меня понятно что >иммутабельный != хэшируемый
>>1167469В доках не описана ситуация, когды ты изменяешь тюпл через список внутри.a = (1, [1,2])identifier = id(a)a[1].append(10)id(a) == identifierTrueОн иммутабельный?
>>1167313> Что такое постгреPostgreSQL
>>1167447Что за IDE?
>>1167501notepad++ судя по кнопкам сбоку
>>1167504Расцветка красивая. В ебучем PyCharm только ссанина одна, а всё вручную лень настраивать.
>>1167449Блядь, какой же ты тугой, иди на хуй.
>>1167501VSCode
>>1167504Не думаю. Если только не плагин какой-то для интерфейса. В ванильном Ноутпаде те же минусные кнопки немного иначе отрисовывают ветвь с отступами.
Сап, анон, помоги нубасу, пожалуйста. https://repl.it/@ABCDeath/UnwittingFrostyLifecycles Вот я написал два класса для чтения/записи содержимого файла, если имя не указано, то хочу, чтобы работало с stdin/stdout без буферизации и желательно с возможностью перенаправления.Обрати внимание на строки 64 и 65. Если их поменять местами, то всё работает нормально, то есть, в консоли я получаю вот такую байду:> banana@banana-vm /mnt/vmshared/temp/vm $ python3 stdio.py> 12345> size: 5> banana@banana-vm /mnt/vmshared/temp/vm $ > banana@banana-vm /mnt/vmshared/temp/vm $ > banana@banana-vm /mnt/vmshared/temp/vm $ echo blah-blah-blah> blah-blah-blah> banana@banana-vm /mnt/vmshared/temp/vm $Если же оставить как есть и закрыть сначала in, а потом только out, то всё, терминал распидорашивает:> banana@banana-vm /mnt/vmshared/temp/vm $ python3 stdio.py> 12345> size: 5> banana@banana-vm /mnt/vmshared/temp/vm $ blah-blah-blah banana@banana-vm /mnt/vmshared/temp/vm $ banana@banana-vm /mnt/vmshared/temp/vm $То есть, когда я пишу, буквы не появляются в терминале, но на ввод он реагирует, при этом не переносит каретку. Если вызвать какую-нибудь ll, то в её выводе от переноса строки только lf останется, cr куда-то проёбывается. Что я делаю не так? Почему последовательность восстановления атрибутов у потоков влияет на дальнейшее поведение терминала после того, как интерпретатор вернёт управление? Алсо, кажется, что с этими атрибутами и проблема, но я же, по идее, восстанавливаю то состояние, которое раньше было, что не так?Ещё один вопрос: если я запускаю скрипт с перенаправлением ему в stdin, получаю вот такую херню> banana@banana-vm /mnt/vmshared/temp/vm $ echo 12345 | python3 stdio.pyTraceback (most recent call last): File "stdio.py", line 60, in <module> in_stream = InputStream() File "stdio.py", line 14, in __init__ self._settings = termios.tcgetattr(self._handle)termios.error: (25, 'Inappropriate ioctl for device')Как в таком случае следует работать с stdin? Это всё нет смысла делать, если ввод перенаправлен, но как это понять внутри скрипта?
Накидайте годных цветовых тем для spyder3
>>> 180.000000000000028180.00000000000003Што с этим делать посоны?
>>1167652А что ты хочешь сделать?
>>1166799>рест фреймворкомТы че тупой? Тут пацаны с кортежами разобраться не могут, а ты нахуй рест блять какойто, работа блять настоящая. Ебу дал?
>>1166799Ты дергаешь апи с данными на из своего сервера и рендеришь с ними данные на стороне клиента, тут вроде все очевидно
Как учиться продуктивнее? Половину Лутца прочел (недоучился в универе, плюсы учил, так что с программированием знаком, но занесло в админы, сейчас решил квалификацию сменить ибо больше нравится делать код и думать головой, а не ебать сети), вторая уде идет сложнее, но идет, попутно маны курю и смотрю, и для себя что то делаю по мелочи, но хочется прям втянуться, джуном пока не возьмут ибо базы и фреймворки еще изучаю, да и скилл лвла нет почти, и сам язык в процессе изучения, хотя по сравнению с местными некоторыми, чувствую себя эйнштейном. Так вот, на кодварсе 200+ и пятый кью (лол), как на гитхабе пулреквесты принимать и вообще в дело втянуться, чтобы что то полезное делать, а не просто задачи решать? Например делаю бота для вк себе, но мне он в целом нафиг то не вперся, стимула нет, а вот кому то и с кем то чтото делать, это куда интереснее.
>>1167787Причем совсем не вдупляю, как на гитхабе по пихону искать простые и приемлемые мне задачи, там или убер хард для меня повсюду с асинхронностью, которую я в душе еще не ебу или ... или не знаю как искать.
>>1167787Всё полезное уже есть на pypi. Правда толково сделанных пакетов, обновляемых и протестированных немного.
>>1167787Попробуй тестовые задания поделать. Полезно по крайней мере для твоей будущей зарплаты.
>>1167805Чёт только сейчас заметил кучу сисек в этой вебм.
>>1167787Кстати, насколько реально полезно выполнять эти задания на всяких codingame и прочих подобных ресурсах?
>>1167812Ну.с кодварс я например начал чтото понимать. Решаю задачу как умею, разбираю топ ответ, офигеваю, следующие решения уже лучше с учетом предыдущего экспириенса. Плюс сохраняются задачи, если что то можно посмотреть решения или фичи, я например только так вдуплил как в кеях лямбду использовать и генераторы красиво юзать.
>>1167447почему бы не добавить проверки в функцию download, вместо mainи хендлить ScriptError от функции download ?
Анон, как мне узнать, является ли выбранный пользователем файл огурчиком? Я понимаю, что можно try: pickle.load(file) except UnpiclingError: print("NO"). Но есть ли какой-то более простой способ без загрузки всего файла в память?
>>1167837Не могу говорить точно, но посмотри, с чего начинается/чем заканчивается файл, вдруг в этом закономерность есть. Ну и попробуй на досуге сравнить, что быстрее, хендлить исключения или открывать и читать какие-то там строчки из файла.
>>1167837да есть. Можно прочесть header файла
>>1167839И по возможности скинуть сюда результаты тестов. Всем будет полезно для общего развития.
>>1164614 (OP)Я хочу работать программистом-математиком.Использовал Fortran и MapleСтоит ли мне изучать Питон? Часто ли его используют для математических задач?
>>1167857да пиздец как стоит. Можешь даже забить на фортран и маплтебе хватит питона. Унего ниебически большое научное сообщество. Гугль Анаконду
>>1167857numpy и куча прочих математических библиотек как раз для таких аналитиков как ты! По сути пайтон можно использовать как встроенный в matlab скриптовый язык - те же массивчики с сырыми данными, те же 2-3 строчки для визуализации данных на графике...
>>1167862>Можешь даже забить на фортран и маплЭто само собой, фортран сейчас без сообщества, а мапл по сути большой калькулятор к которому я привык.Спасибо!>>1167864Погоди, то есть такой вопрос:правильно я понимаю, что матлаб это написанный на питоне язык, который выполняет функции в целом аналогичные маплу и математике вольфрам, а питон это его встроенный алгоритмический язык, потому их и используют вместе?
>>1167869Эмн... нет. matlab - это проприетарный пакет для математиков. Он имеет встроенный язык программирования для проведения научных/математических расчетов.Пайтон может дать всё то же самое только бесплатно. Например, из того, что делал я сам - получаешь данные из БД, рисуешь на графике кривую по данным и сразу же вторую кривую - скользящую среднюю. Минимальное количество кода - максимум результата. Плюс если использовать jupyter notebook - можно работать с данным гораздо удобнее и нагляднее, вплоть до презентации своего подхода аудитории в реальном времени.
>>1167870Понял, спасибо.>Минимальное количество кода - максимум результата.Да, визуально код хорошо выглядит, гораздо более читаемо чем кресты или ява.
Извиняюсь заранее за вопрос уровня дауна. Недавно вкатился и сейчас пытаюсь работать с различными библиотеками и нихуя не могу в понимание документации, даже учитывая что неплохо знаю инглиш пиздец блядь куча какого то говна непонятного понаписано сижу ахуеваю. Как вычленять что тебе нужно и применять на практике? Только гуглить примеры применения всего подряд или есть какой то другой способ? Извиняюсь за формулировку, надеюсь на поинмание.
>>1167906Поставь перед собой задачу и после этого ищи инструменты для нее.
>>1167906>неплохо знаю инглишВот тут значит у тебя ошибка в размышлениях. Гугли все непонятные слова, записывай, заучивай.мимо другой вкатывальщик, читаю все и документации и книги на английском, который знаю неплохо. никаких проблем
>>1167906Анон, поставь себе конкретную задачу что ты хочешь написать и работай над ней. Для любого современного языка хуева гора примочек. Со всеми разбираться будешь когда на работе будет нехуй делать. Попробуй, например, написать на какую-либо вакансию "ололо дайте тестовое задание" и дадут тебе задание и будешь думать что тебе для него нужно.дилетант_с_дивана
>>1167924>тестовое задание
>>1168051>какой-то хуй без опыта>не хочет делать тестовое, потому что на желтом форуме сказали, что это зашквар и они украдут его джуниорский код в продакшенТак можно выебываться только когда ты мидл и выше
>>1168051>боевая картиночка
Анон, я дошел до программ, где у меня первые строк 100-150 это описание классов, функций, хуюнкций, и потом строчек 20 - 40 сама программа. Это нормально, или пора выкидывать это все в MyAwesomeModule.py и пилить отдельный скрипт с import MyAwesomeModule.py ?
>>1168055А когда джун, нашедший работу по знакомству — то даже нужно.
Аноны, а это правда что Питон медленный потому что интерпретатор или это всё наговоры и попытки спихнуть с пути истинного?
>>1168124Не правильный вопрос. Он не медленный просто на других языках можно написать так что будет в разы быстрее, но чаще всего задача скорости работы не первостепенная, просто нужно чтобы она была в определенных рамках.
>>1168143То есть получается, что писать оптимизированный алгоритм для вычисления какого-либо числа, например где нужно просуммировать ряд из стапятисот дохуя сходящихся функций на нём смысла нет? Почему его позиционируют как средство для математиков и инженеров? Смысл писать сложные численные расчёты на нём?
>>1168168Тебе не нужно писать оптимизированный алгоритм для вычисления какого-либо числа.> Почему его позиционируют как средство для математиков и инженеров? Смысл писать сложные численные расчёты на нём?Потому что прост, синтаксис не высер уровня брейнфака и миллиард готовых библиотек под все нужны в говне моченых (следствие, но теперь и причина).> Питон медленныйОн достаточно быстр для своих задач. Это все, что тебе нужно знать на твоем уровне развития.
>>1168124>>1168168Платиновая платина треда.>это правда что Питон медленный потому что интерпретаторДа.>писать оптимизированный алгоритм для вычисления какого-либо числа, например где нужно просуммировать ряд из стапятисот дохуя сходящихся функций на нём смысла нетДа. Прототип разве что катнуть.>Смысл писать сложные численные расчёты на нём?Сложные? Есть сложные, а есть критические по производительности. В основном это гейдев, где нужно кровь из носа за 10мс нарисовать целый кадр из пикселей. Так вот, критические по производительности — нет смысла. Сложные без разницы, питон разве что будет дольше считать. И то, при сравнении с аналогичными рассчётами на цпу в машинных типах данных (int8, float32, etc). Строковые операции например уже спорно.>Почему его позиционируют как средство для математиков и инженеров?Потому что есть много удобных библиотек. И там где нужна скорость всё написано на сишке. В питоне ты просто задания раздаёшь перелопатить вот эти три миллиона чисел вот так.
аноны, что почитать, чтобы быстро въехать в Django? Djbook/видеокурсы? Если курсы, то какие. Может посоветуете какие-нибудь ресурсы
>>1168124Медленный он потому что динамическое говно. Интерпретатор там не в большей степени, чем в джаве или дотнете — такой же относительно низкоуровневый байткод на стековой машине.Однако, он не особо и медленный, потому что все перформанс-критикал библиотеки написаны в виде экстеншенов для сипайтона на языке C++, а питончик выступает к ним как бы интерфейсом. Поэтому и никому не нужен этот ваш PyPy — хоть питоновский код на нем и быстрее, экстеншены к нему не прикрутишь.>>1168168> То есть получается, что писать оптимизированный алгоритм для вычисления какого-либо числа, например где нужно просуммировать ряд из стапятисот дохуя сходящихся функций на нём смысла нет?Нет, смысла нет. Если для проекта на питончике это нужно и действительно надо быстро, пишется си-экстеншен.> Почему его позиционируют как средство для математиков и инженеров?Потому что numpy и scipy написаны в основном на си, а не на питончике, на гитхабе можешь посмотреть и убедиться.
>>1168110> Это нормально, или пора выкидывать это все в MyAwesomeModule.py и пилить отдельный скрипт с import MyAwesomeModule.py ?На твое усмотрение. Как начнешь этих в классах путаться, а сами они превратятся в спагетти-код, сам так сделаешь, как миленький.
>>1168231>такой же байткодАвотхуй. В джавах есть JIT, в (си)питоне нет. В питоне почти все опкоды, которые не ходят в стек делают полный лукап по строке.>на языке C++Авотхуй, на чистом си. Под modern C++ bindings не так уж давно вообще появилось хоть что-то сносное.>никому не нужен этот ваш PyPyАвотхуй, нужен и очень нужен. Но с экстеншенами таки да, плохо, там надо cffi и убирать refcounts.
Все скрипты магическим образом начали выдавать PermissionError: [Errno 13] Permission denied:при попытке открыть любой файл ( with open(self.filename, "rb") as fin :) без разницы из какой директории, даже с той же где скрипт лежит, даже спецом директорию создал на другом диске и тоже самое выдает, не понимаю что и где сломалось, ведь я ничего не трогал.
Анончик, а подскажи по аналогу на питоне серверных переменных в пехапе. Есть такое? Можно ли получить ip посетителя без анального внедрения кучи библиотек?
>>1168289в Гугле забанили?
Что мой саблайм от меня хочет? Как он фэйлит подключение к... самому себе? Ну, на мой собственный пк. В диспетчере задач никакого Питон процесса, выполняющего скрипт, нет, но все работает вроде как.
>>1168313Зависит от протокола, в http, например в заголовках он есть
Здравствуйте, я туп как пробка, учился на тройки, но поступил в магистратуру, чтобы не сесть на бутылку. У меня следующий косяк - мне задали здание в магистратуре сделать так, чтобы с помощью регрессионных методов машинного обучения я взял точки и соединил их корреляционной линией. Как на приложенной картинке. Я взял sklearn и скормил ему точки, а в ответ он выдал мне требуемую линию. Все счастливы, все довольны.Но потом меня обоссали и сказали, что регрессионные методы уже давно известны, ты втёр нам старьё, Вася! Делай тоже самое, но только нейронными сетями! БЫСТРА! ОДНА СУТКА ВРЕМЕНИ ТЕБЕ!ПОЭТОМУ, ПОДСКАЖИТЕ, ПОЖАЛУЙСТА, КНИГУ НА РУССКОМ, ГДЕ ОПИСАН КАКОЙ-НИБУДЬ ФРЕЙМВОРК ИЛИ БИБЛИОТЕКА С НЕЙРОННЫМИ СЕТЯМИ, ЧТОБЫ МОЖНО БЫЛО ЕЙ СКОРМИТЬ ТОЧКИ И ЧТОБЫ НЕЙРОННАЯ СЕТЬ НАРИСОВАЛА КОРРЕЛЯЦИОННУЮ ЛИНИЮПрошу книгу на русском, так как осталась одна сутка. Пока ищу, не могу найти. Вроде, задачу регрессии не принято нейронными сетями решать.
>>1164614 (OP)Сап змееусты, небыл тыщу лет. После длительной паузы взялся за изучение постгрескуля, появился вопрос.Не получается привязать фласк аппликушу к локальной бд, переменная DATABASE_URL пуста. Помохите?
>>1164675Добавь в свой сайт курсы переложение СИКПа на питон еще, он хороший
>>1168342Спросил бы машоб треде, не?
>>1168345Хорошо
Анон, у меня есть класс, наследующий от threading.Thread. Если я в нем определяю всякие функции, чтобы использовать их в run(), их def утверждения будут выполняться при запуске каждого нового треда? Тогда надо объявлять все вне класса, а в нем только __init__ и run()?
Обнаружил, что помню java лучше пайтона, хотя на яве не писал много лет, а питоном обмазываюсь года три уже как. Чего делать?!
>>1168352Понять что плоть слаба? Я тут пытался в пхп, не смог. Вспоминаю пистон и рыдаю ночами, какой он няшный.
>>1168353Ну на яве я много работал в свое время, а пайтон больше для админских автоматизаций сейчас использую. И вот ооп в яве такое простое и понятное, а в пайтоне как-то не очень...
>>1168354почему админишь именно на Питоне? Почему не на баше? Питон хорош для админинга? Что примерно делаешь?
>>1168178>Он достаточно быстр для своих задач. Ну ты понимаешь как это звучит.Если мне понадобится быстрый модуль то писать его возможно придётся на чём-то другом. Впрочем, попробую сравнить в ближайшее время.>>1168179>В питоне ты просто задания раздаёшь перелопатить вот эти три миллиона чисел вот так. Я понял. В Питоне можно использовать разное число знаков в десятичном представлении числа? ну там 50, 100, 200?Спасибо.
>>1168376Пайтон удобный очень - куча модулей для работы со всем на свете. Плюс на нем написан ансибл, а т.к. ансибл от релиза к релизу глючный - приходится патчить его исходники под себя немного. В основном же занимаюсь управлением сетевыми устройствами.
>>1168354Крут, я вот вообще в ооп не въехал. Правильно я написал класс, или нет, что откуда наследуется ппц вообще
>>1168455В ВУЗике ООП читали на основе плюсов. В целом концепция была понятна, но вопрос "НАХУЯ ВСЁ ЭТО?!" у меня оставался безответным до серьезного погружения в java. Сейчас, пишу на пайтоне и понимаю, что базовое знание ООП тут нужно разве что для разработки на фляжке/джанго. В остальных случаях оно скорее вредно, потому что реализовано, скорее, для галочки, чем как какая-то фундаментальная парадигма. Возможно, я просто не умею готовить ООП в пайтоне. Но... тут всё равно ведь нет ни интерфейсов, ни полноценного private модификатора видимости...
>>1168351>их def утверждения будут выполняться при запуске каждого нового треда?Нет. Определение класса обрабатываеся один раз при запуске/импорте модуля. У них у всех общая память.https://repl.it/repls/PointlessOvercookedKeyboardmacro (если бы def обработался заново, то и список обновился бы.)
>>1168384https://docs.python.org/3.6/library/decimal.html
>>1168384Ну ещё int имеют неограниченный размер.
Как записать в питоне:больше 5, но меньше 10?
>>1168537a > 5 and a < 10
>>1168537X>5 and X<10
>>11685375 < x < 10
Бля, пиздец я тупорылый, молю помогите, я хочу запустит файл в пакетном режиме в командной страке в файле вот такой кодa = int ( input ())print (a 2 )когда запускаю файл выходит синтакс ерор инвалед синтаксПочему не запускается?
>>1168547запятая (а, 2)
>>1168550Блин, я тупой у меня пена из рта от злости я криво написал, вот читай этоЯ создал текстовый документ test.py вот с таким кодом a = int ( input ())print (a 2 )В командной строке я запустил питон(пакетный режим), хочу запустить этот текстовой документ с кодом. Я написал python test.py, но вышло SyntaxError: invalid syntax
>>1168550Бля, между а и 2 стоит возведение в корень, а то есть две звездочки, почему они не отоброжаются
>>1168553ты правда тупой, что ты хочешь сделать вообще?a = int(input())print(a)илиa = int(input())print(a, 2)иличто вообще?
>>1168555>>1168554
>print (a 2 )блять, я хз кинь код через иму выше запись правильная, работать должно
>>1168558Между а и 2 должны стоять две звездочки, умножение типа, но их две
>>1168559это необучаемость блять ВТОРОЙ РАЗ ПОВТОРЯЮ КИНЬ КОД >Свой код кидайте через https://repl.it/languages/python3ну блять просто же прочесть при входе в факе
>>1168561Единственное, что не отобразилось в коде, так это две звездочки между а и 2
>>1168561> читать факети вабши с нашей плонети точка пеэнге
>>1168561Вот что я хочу сделать2.2 Пакетный режим работыТеперь запустим Python в режиме интерпретации файлов с исходным кодом(пакетный режим). Создайте файл с именем test.py , откройте его с помощью любоготекстового редактора и введите следующий код:a = int ( input ())print (a тут должны стоять две звездочки 2 )Эта программа принимает целое число на вход и выводит его квадрат. Длязапуска, наберите в командной строке> python test.py
Начал изучать программирование, пиздец я тупорылый оказывается, я даже значения слов на русском в учебнике не знаю. Это нормально?Я буду быдло кодером если продолжу? я смогу стать талантливым программистом?
Эх бля нахуя никто не отвечает пиздец , выпиливаться только остается с моей тупорылостью
a = int ( input ())print (a (между буквой а и двойкой должны быть две звездочки, почему это программа не запускается) 2 )
Ебать так сложно понять что ли пиздец , почему нету легких способов выпилиться
Что за вброс? Кто оставил ссылку на этот тред в вк, признавайтесь черти!Сколько ставить таймауты на сокеты? В учебнике автор дает 100мс, я с барского плеча сразу целую секунду даю. А сколько надо? И почему у сокетов можно кинуть таймаут сразу всем функциям через .settimeout()? То есть если я хочу, чтобы в разных случаях сокет ожидал разное время, мне нужно перед каждым использованием кидать эту функцию? Или такое на практике просто нигде не используют и потому сделали один таймаут на всех?
Я создал текстовый документ test.py вот с таким кодом a = int ( input ())print (a 2 )В командной строке я запустил питон(пакетный режим), хочу запустить этот текстовой документ с кодом. Я написал python test.py, но вышло SyntaxError: invalid syntaxМежду "а" и "двойкой" должны быть две звездочки, там где принт
>>1168572Да. Еще будешь по 200 раз перечитывать одно предложение. Начал бы с сицпа!
Вайп постами вкатывальщиков. Зарепортил
>>1168584А что ты там уже натворил чудо с сокетами?
>>1168584> То есть если я хочу, чтобы в разных случаях сокет ожидал разное время, мне нужно перед каждым использованием кидать эту функцию?А если в декоратор обернуть?Алсо, что читаешь? Тоже хочу про сукеты почитать!
>>1168585сука, сколько ты ещё раз одно и то же в тред запишешь? Модератор, забаньте дауна, пожалуйста.Насчёт твоей проблемы: ты не там пишешь python test.py. Это нужно писать в командной строке, а не внутри интерпретатора. Ты сейчас вводишь python, попадаешь в в интерпретор, и потом ещё раз пишешь python test.py. Именно в этой строке синтаксис эррор, а не в твоём файле. "python test.py" нужно писать там, где ты просто "python" писал.А теперь уходи, а то предчуствую следующие твои вопросы и становится плохо.
Ньюфаги, ливайте. Работы для ньюфагов на питоне нет!
>>1168592Я изначально все вводил в командную строку. По твоему совету я написал просто название файла без "python", у меня вышла такая ошибка indentationError: unexpected indent
>>1168595>indentationErrorА теперь погугли ее, омонимус
>>1168588Пока ничего. Просто, например, в threading модуле на любой блокирующий вызов типа ожидания замка можно поставить его личный таймаут. Не понимаю, почему у сокетов не сделали так же.>>1168590Кстати можно, не подумал об этом.Обычный Programming in Python 3, Summerfield и документацию.Может кто ещё объяснить мне задание лол из книжки. Пикрил. Задание о создании сервера, клиента и обмене между ними информацией, переведенной в байты через pickle.dumps. Зачем передавать друг-другу протоколы упаковки? Я сначала подумал, что это для того, чтобы распаковать обратно, но перечитал документацию, и там сказано, что pickle сам определит протокол и откроет по нему. Так что автор от меня хочет?Кстати о тредах. Почему замки называют... замками? Типа с ключем было бы все понятно - тред взял ключ и заперся с shared data в комнате, пока ключ не отдаст другие ничего не смогут ничего с этой инфой сделать. А с замком? Ну взял он себе какой-то навесной замок и че бля?
>>1168599Блин, а я ни одной программинг ин пайтон не читал. Ни лутца ни саммерфилда. ПРИШЛА ПОРА
>>1168599>замкиЭто lock чтоли? Не castle же... лок это когда разделяемый ресурс блокируется же?
>>1168600Есть еще одна, Core programming in python
>>1168601Да, я про это. Ну замок не в смысле здание огромное, а как навесной замок, ну знаешь, хуюнишки такие на цепях висят или в двери вмонтированы.
>>1168595>Я изначально все вводил в командную строку.Нет, не туда ты это вводишь. Ты и сам подтвердил это словами>я запустил питонИ затем>ввожу python test.py>у меня вышла такая ошибка indentationError: unexpected indentПитон указывает и цитирует строку, где была ошибка. Скриншот в студию.
>>1168604Там стрелка указывала на название файла, ничего больше там не было. Щас пишет другоеNameError: name "test" is not defiend
>>1168610Короче, иди нахуй, ты тупой, вгаоны лучше разгружай. Я тебе уже ответил, в чём твоя проблема. Если стрелка указывает на имя файла, зачем ты в интерпретаторе это имя файла ввёл, а не командной строке (терминале/павершелле). А ты даже скриншот сделать не может.
>>1168614Я чисто физически не смогу разгружать вагоны, я все равно долго жить не буду, зачем мне это.Вот скрины
Сегодня впервые в жизни применил питон для своей работы. Какое же охуенное непередаваемое чувство — написать скрипт и увидеть, что он работает и делает, как надо. Держу вас в курсе.
>>1168620Написав в комстроке python ты запустил интерактивный режим. И в нем ты вводишь название файла, а он не понимает хули ты доебался до него, тк команды test.py в пайтоне нет. Тебе надо написать в комстроке python test.py
>>1168622Чего запилил то?
>>1168624
>>1168627Ты все еще делаешь это в интерактивном режиме. Об этом свидетельствуют значки >>> слева от ввода.
>>1168628Сам код хоть правильный?Нормально что я пытаюсь запустить документ блокнот с этим кодом?А в каком режиме нужно запускать?
>>1168627П.с. другой анон.Бляяя.... я не могу.... хаах... Сижу реверсю одну ебу, дай думаю на двачик зайду..Анончик:1. набери exit(), чтобы выйти из интерпретатора пайтона.2. перейди в директорию с твоим скриптом. (п.с. все это нужно делать в терминале, это такое черное окно), чтобы перемещаться по директориям в терминале используй команду cd.например: cd C:/Users/дома/папка_где_лежит_твой_скриптcd C:/cd C:/Windowsну ты понял, надеюсь...3. Теперь вводи в терминалpython test.pyЕсли выдается ошибка, значит ты что-то делаешь не так. Начни с основ, узнай что такое компуктер, что такое процессы, файлы, файловые системы, терминалы, пользователи, переменные окружения и т.д. И потом только возвращайся на этот форум...
>>1168632Код правильный. Лучше набирай код в сублайм тексте хотябы. Или notepad++. Вот гляди. Ты сперва запустил просто python, и залез в интерактивный режим, теперь надо тебе из него выйти, нажав ctrl+z ztrl +d или еще какую хуету, я не знаю. Или закрыть нахуй окно и открыть снова. А потом уже вводить python test.py в одну строку
Мда мде.
>>1167470Тупль же харнит ссылки на обьекты внутри себя. Ну меняешь ты сам обьект, но ссылка на него не меняется!
>>1168632Плз пройди хотябы cs50. Ты ж вообще ни в зуб рукой
>>1168625Да по факту мелочь: автоматическое текстовое изменение пары файлов конфигурации, которые девы выкатывают в одном виде, а в них нужно потом ручками ковыряться, исправляя пару параметров тут и там. Поскольку исходники всегда одинаковые, изменять требуется всегда одно и тоже (ну, или почти всегда — для отдельных моментов я пару if-statement'ов запилил). Но сколько я нового узнал чисто по этой задаче, просто охуеть.
>>1168640А это все проходят?Это настолько важно?
>>1168649Да
>>1168650Там видео много часовых, их прям смотреть?
>>1168652Прям смотри, даже конспекты делай коротеьнкие
>>1168640>cs50Ебать, а когда я спрашивал что можно послушать/посмотреть пока хожу по улице/качаюсь мне ничего не ответили. А есть ещё что такое, что можно слушать/смотреть пока занят какой-нибудь бездумной рутиной? cs51? cs52?
>>1168652И задачи тоже
>>1168620Блять, что это, нахуй? Что это за пиздос? Почему, блять? Как? Кто-нибудь может объяснить, что он вытворяет? Он ебанутый что ли?
>>1168656>А есть ещё что такое, что можно слушать/смотреть пока занят какой-нибудь бездумной рутиной? cs51? cs52?Можешь включить аудиокнижку про Петра и Февронию
>>1168657Какие задачи?Они в видео есть?Или их отдельно нужно искать?
>>1168656>А есть ещё что такое, что можно слушать/смотреть пока занят какой-нибудь бездумной рутиной?Dive into Python в голосовом исполнении Сергея Безрукого. Идеально просто: воткнул наушники перед сном, лег спать, а с утра уже можешь на собеседование идти и запрашивать 150к/месяц.
>>1168661https://cs50.harvard.edu/weeks
>>1168632Завтра ищешь в интернете книжку Dive into python. Похуй если ничего не поймешь. Затем идешь на python.org и изучаешь стандартную библиотеку от корки до корки. Потом зубришь, именно, сука, вызубриваешь конвенцию по написанию питоньего кода - PEP8, чтобы от зубов отскакивало. Когда напишешь свою первую имиджборду, по пути изучив верстку на html+css, скачиваешь и изучаешь любой питоний асинхронный вебсервер, рекомендую Tornado или Gevent. Как переделаешь имиджборду, чтобы выдавала по крайней мере 5 тысяч запросов в секунду, можешь идти дальше - тебя ждет увлекательный мир хайлоада. Apache Hadoop, сверхбыстрые асинхронные key-value хранилища, MapReduce. Отсос хиккующих выблядков / просто неудачников типа рейфага или сисярп/джава-хуесосов, которые сосут хуй по жизни не заставит себя ждать и уже через пол года ты будешь получать такие суммы, что любая баба будет течь при одном упоминании твоей зарплаты.
А у вас есть аниме чатик в ламповом телеграмме?
>>1168672бигдата? Еще java придется подучить все-таки
>>1168678Вам лишь бы попиздеть
>>1168672Для всего этого нужно знать английский?
Почему тогда мой одноклассник уже в школе в 8 классе писал читы блядь для шутеров, сайты, что только не делал, не думаю, что он всю эту хуйню, все эти курсы и книги читал
>>1168693>не думаюНу, в принципе, это твое стандартное состояние, так что расслабься.
>>1168696Да нет, он быдлом был, он не был гением, я его с первого класса знаю. Ну посоветуй что делать тогда, если такой умный.
>>1168697Посоветую почитать шапку.
>>1168697На полном серьезе советую, не прогадаешь.https://learn.javascript.ru/
>>1168687Ну я просто уже умею знаю и гребу на галерах ....
>>1168703:( крутой
>>1168700>javascript
Что можно написать в качестве тестового задания, кроме очевидной имиджборды?
>>1168715Перепиши This is the police так, чтобы она не лагала пиздец блять, двухмерная игра, как ее создатели уебки смогли сделать ее такой требовательной. они бля специально пытались создать неоптимизированное говно?
>>1168324Я все перерыл в гугле, все перепробовал.Там везде пишут типа от админа запускай, проверь есть ли права на папку и прочее. Я это уже давно сделал и все равно не работало.Пришлось к чертям все снести и заново поставить и тогда почему-то снова все заработало.
>>1168715Хостинг картинок, который будет не позволять загружать одинаковые или почти одинаковые картинки (хэш).
>>1168716Изи же, сохранение кэша в редис и в базу + проверка на вхождение в редисовское множество при попытке загрузки
>>1168715Напиши для начала революционный алгоритм сжатия данных без потери качества.
>>1168719>сохранение хэшафикс
>>1168721Ну или можно просто кластер из двух редисовских нод заделать, и проверять и хеш даже в базу не закидывать, ОПТИМИЗАЦИЯ
А в 3м Питоне есть готовая функция для умножения по аналогии с sum для сложения?
>>1168735А что, * больше не вставляет?
>>1168735>>1168740Засмеялся с этих наркоманов
>>1168718>>1168719
>>1168727Что за редис?
>>1168747in-memory хранилище, прямо в оперативке данные держит, быстро сука
>>1168750У меня от такой оптимизации МЕМОРИ ЕРРОР
>>1168754Ну да, лучше хеши, руками из базы данных рукам проверять, хорошо будет базе на 1кк картинок, даже индексированной
>>1168735Лучше самописная
>>1168740И как ей перемножить элементы списка в одну строчку? Инб4 лямбда.
>>1168763И сколько, например, нужно РАМ для 1кк картинок?
>>1168776Зависит от длины хеша, и соответственно от функции хеширования, завтра тест для треда запилю с генерацией 1кк рандомных значений, занимаемой памятью и скоростью чтенияНо в любом случае это гораздо выгоднее, чем делать запрос в бд, потому что она просто ляжет нахуй от таких запросов, память и докупить можно, в отличии от ограниченной скорости диска
Почоны, как правильно изучать sql и субд, в какой последовательности? А реляционная алгебра - перед, до или вместо? Все так запутано!
>>1168779> завтра тест для треда запилю с генерацией 1кк рандомных значений, занимаемой памятью и скоростью чтенияРезультаты сюда постить будешь?> Но в любом случае это гораздо выгоднее, чем делать запрос в бд, потому что она просто ляжет нахуй от таких запросовТак реляционные БД на это и рассчитаны. Плюс возможности самой БД в этом плане тоже зависят от RAM.
>>1168783Да, сюдаНу то есть ты докупаешь память, что бы её сожрал уже не редис, а бд? Причём это все равно не даст и сотой части той производительности, что даёт тебе редис
>>1168790> не даст и сотой части той производительности, что даёт тебе редисНикогда не видел/проводил сравнения с редисом (почему именно редис, кстати?), а с бд в скором будущем работать придется. Надо будет выдержать примерно 300 одновременных запросов к БД.
>>1168795Редис, потому что одно из самых популярных, поддерживаемых и быстрых хранилищ, а тарантул я не трогал пока ещё и в ближайшем будущем вряд ли будуhttps://gist.github.com/NateBarnes/3001890Вот тест небольшой на запись/чтениеМожешь кстати его заюзать, как сессионный менеджер
>>1168807Прочитал немного в гугле. В общем, это как БД, с теми же записями/запросами?Просто там еще нужно разворачивать сервер редиса, а я с простой БД пока что этим не занимался. Но думаю, если способ с БД не пройдет, переключусь на это. > Можешь кстати его заюзать, как сессионный менеджерЯ вообще не знаю таких определений.
>>1168817Не с теми же, во-первых, оно не реляционное, во вторых, свои типы данных и цели у него несколько иные>я с простой бд пока что этим не занималсяЕсли ты джун и работаешь в команде, то это тебя в меньшей степени касается, т.к. проектировать ты вряд ли будешь, но рекомендую ознакомится с этим для развитияhttps://losst.ru/malenkaya-kniga-o-redis
>>1168822> оно не реляционноеЭто плохо.> цели у него несколько иныеА какие, если вкратце?> Если ты джун и работаешь в команде, то это тебя в меньшей степени касаетсяЯ вообще к программированию прямого отношения не имею, но пока особо работы нет, я с начальником начинаем творить всякие непотребства. Сейчас у нас в планах такая хуйня, как обращение большого количества компьютеров к базе.> но рекомендую ознакомится с этим для развитияСхоронил, спасибо
Анон, смотри, мне нужно вывести строку. Если есть флаг debug мне нужно вывести чуть больше этой строки, если есть флаг log нужно вывести эту строку ещё и в файл. Я правильно понимаю, что это самый лучший момент для использования exec? Я ещё думал о динамическом определении (так же называют if A: def yoba утверждения?), но писать 3 почти одинаковые функции что-то не хочется. Вот так норм? https://repl.it/repls/MistyHandmadeAddin
>>1168826Хранение сессионных данных, кеширование, бд для маленьких приложений (или даже для больших, если ты гуру https://habrahabr.ru/post/178525/), промежуточные данные для больших вычислений, хранение всяких флагов/чисел к которым нужен быстрый доступ и запись (опросы, лайки, просмотры в вк)
>>1168839Понял, спасибо за ответы. И доброй ночи, а то черед 6 часов вставать.
Анончики, выручайте, говнокодил я себе на питоне, бед не знал, есть проект с несколькими си-расширениями, всё под линукс.Теперь хотят порт под винду. Питоновские части не пользуются никаким говном платформозависимым (типа termios) и завелись сразу. А вопрос у меня про расширения на Си.Как это лучше делать? Мне обязательно ставить себе винду и vc++? Получится обойтись виртуализацией типа KVM? Какие подводные (например, нужно ли будет включать в пакет стандартные библиотеки си рантайма)?Пока я накатил wine+python27+mingw, собираются с mingw и статической линковкой заебись, работают нормально, но это жи только 2ой пистон и только 32-бит, т.е. не сегодня-завтра оно и не надо никому нахуй будет, а надо 3ий и 64-бит, а этого в wine не завезли.
>>1168949>собираются с mingw и статической линковкой заебисьХотя как "заебись", херово вообще-то, пришлось пилить отдельную альтернативу setup.py, тоже, в принципе, херня кустарная, добавил расширение - не забудь включить и в setup.py и в setup_mingw.py, фубля.
>>1168949Я такое в виртуалбоксе собирал. Правда у меня там иначе никак, целевая говняшка работает только под виндами, даже под вайнами падает. В целом всё ок, пишешь под линуксами, переключаешься на виртуалбокс, собираешь, тестируешь. Главное правильный компилятор выбрать под версию питона.
>>1168782Краткий тутор по sql. Индексы, внешние ключи, один к одному, один ко многим, многие ко многим, разобраться с джойнами, субкверями, агрегацией, оконными функциями, триггерами, хранимками итд итд.Реляционную алгебру на потом оставь, там чистая теория, которую полезно почитать когда тебе захочется осознать реляционные БД более глубоко и какими они задумывали и должны быть.Так-то субд могут быть очень разными, это не только реляционные. Можешь с монги вообще начать, она простая как три копейки но и такая же ограниченная в возможностях, транзакции и констрейнты ой как нужны.
>>1168735import operatorfrom functools import reducedef product(iterable):return reduce(operator.mul, iterable, 1)
>>1168782Теория баз данных гугли крёнкеПроектирование баз данныхАдминистрирование баз данныхПо крайней мере нам в вузе в таком порядке преподавали.
>>1168988>Проектирование баз данных>Администрирование баз данныхПоздравляю, теперь ты человек-оркестр, которому будет рад любой малооплачивамый бизнес, но учти, что в крупной компании, этим будешь заниматься не ты, а специальный человек.
>>1168988Виктор Данилович Кренке (1816—1893) — военный инженер, участник русско-турецкой войны 1877—1878 гг., генерал-лейтенант, писатель в области сельского хозяйства.
>>1169007Дурацкая шутка, извинтие
Мудрый анон, помоги! Я пишу скрипт который автоматически будет открывать терминал, автоматически вписывать логин/пароль и выполнять какие то команды. Своими силами смог через subprocces сделать запрос на подключение и сейчас встал на автоматическом заполнении логина и пароля вариант с заранее прокинутыми ключами не рассматривается. С какой стороны к этому подойти и как реализовать?
>>1169069> логин парольЗасунь их себе в pickle, а уже pickle сам знаешь куда.
Мне нужно выполнить то, что написано в учебнике на первом скрине. Первый вопрос, как в консоли запустить питон в режиме интерпретации файлов(пакетный режим)?Я не могу нормально указать путь, всегда выходит ошибка, что такого файла нет в директории.Если что, я уже создал текстовой файл, как написано в учебнике и написал туда код из учебника(второй скрин).
>>1169111Найди свой путь сам
>>1168989А я проектировщик ИС по образованию. И что плохого в этой последовательности?
>>1169114Бля, ну неужели такой сложный вопрос.
>>1169111Блин, покажи что ты в консоли пишешь и что тебе отвечает консоль.>>1169116Как раз наоборот.
>>1169116Тебе анон про путь не просто так написал.
>>1169117
>>1169119Файл test.py в какой директории находится то? Зайди в нее через команду cd и запускай там. Или укажи после python до файла абсолютный ПУТЬ: C:\users\дома\huipizdazalupa\test.py
>>1169121Он находится на рабочем столе. Как я понял, там сначала нужно указывать путь к самому интерпретатору пайтон. Как это сделать?Я много чего накачал как в учебнике написано, не понятно какой путь нужно указать, там много файлов где пайтон написано, они лежат в совершенно разных мечтах, тем более у меня виндовс 10, там вообще нихуя не понятно.
>>1169124Поставь линукс и не еби мозги.
>>1169129Да, ахуенный совет блядь.
>>1169124Запускай так:C:\users\дома> python Desktop\test.pyили так:похуй где> python C:\users\дома\Desktop\test.pyПочитай в гугле где-нибудь про абсолютные и относительные пути в файловой системе. Ну и да, win10 не лучший вариант, т.к. в одном месте папка называется "Рабочий стол", а в другом "Desktop"... Вариант с использованием linux тебе всерьез стоит рассмотреть - ведь в нем без командной строки никуда, а для пайтона знать командную строку всё равно нужно.
Где найти литературу, чтобы все узнать про командную строку виндовс.
>>1169148Чувак, тебе что 8 лет? В гугли ищи!
Посоны, а чо за "пакетный режим"-то вообще? Впервые в жизни вижу такой термин. Да и в интернете оно только в этом "туториале" из >>1169111 присутствует. Кто это выдумал и как оно по-английский должно называтсья?
Прочитал я вашего Лутца. Встал вопрос, что делать дальше? В веб не хочу, машоб и анализ данных тоже не привлекает.
>>1169157Автоматизировать админские задачи, парсить сайты скачивания пачками картинки голых школьниц или идти в другой язык, очевидно.
>>1169158>идти в другой языкЭтого я и боялся
>>1169158> Автоматизировать админские задачиПод окна что вкуривать, например? С psexec под обычным os полет нормальный. Но что дальше?
>>1169157Сейм щит. После более детального изучения языка понял что мне ничего кроме как автоматизировать процессы не остается. Но все-таки навык программирования на самом языке питоне я подтяну, а потом, скорее всего в яву и андроид.
>>1169165Ну а что ты вообще делать-то хочешь, зачем ты начинал питон изучать? Если нет никаких идей, то и в другом языке потом встанет тот же вопрос. "В веб не хочу, энтерпрайз парашу писать не хочу, микроконтроллеры программировать не хочу, базы данных обслуживать не хочу, про монады даже слушать не хочу".
>>1169170Полагаешь, в адроид устроиться полегче будет?Там ведь еще скорее всего потребуется айОС знать и к немуЯП
>>1169203Начал изучать в качестве первого языка программирования, ещё слабо представляя, что для чего используется.
Сап, любители подушить змею.Прошу помощи тут, так как сам уже заебался, все что пробую не работает.Дано:В конфиге лежит время начала ежедневного ивента (в разных допустимых форматах). Его надо перевести в unix time;Как я это вижу:Нужно выковырять текущую дату (YY:MM:DD 00:00:00) с учетом моей локали. Перевести ее в unix time и прибавить то, что лежало в конфиге (уже приведенное к секундам прошедшим с 00:00:00);На моей машине получилось сделать. На сервере .timestamp() возвращает совершенно другое значение.Хули делать?
>>1168506>>1168505Спасибо.
>>1169298сервер не в твоем часовом поясе очевидно
>>1169300Правда? Даже предположить не мог.Ты же понимаешь, что ты не ответил на вопрос?
Почему print(os.path.join('C:', 'Users', 'User')) возвращает C:Users\User? Это бага Питона? Не может же быть, чтобы такой путь был валидным, правда?Чтобы выдало путь C:\Users\User, мне приходится писать print(os.path.join(r'C:\Users', 'User')). Уебанская хуйня какая-то.
>>1169309это ты уебанNote that since there is a current directory for each drive, os.path.join("c:", "foo") represents a path relative to the current directory on drive C: (c:foo), not c:\foo.
>>1169303datetime.fromtimestamp(datetime.utcnow().timestamp() + время, которое нужно прибавить в миллисекундах) и полученное корректируешь в зависимости от своей локали
>>1169311Мне эта фраза ни о чем не сказала. Я ее не понимаю.
>>1169324В общем, ладно. Приму за аксиому, что это очередной костыль языка уровня запрета окончания слова в кавычках на слэш.
>>1169336очень смешно
Можно ли как-то сделать так, чтобы в IdLenPairs = list(enumerate(Strings, start=1)) при каждой итерации возвращался tuple вида ('count', 'len(value)'), а не просто ('count', 'value')?
>>1169364IdLenPairs = [(j, len(i)) for j, i in enumerate(Strings, start=1)]?
>>1169365Работает, спасибо, аноний.
А это ничего , что у лутца книга 13го года ?
Друзья. Вопрос.Подключил пердуину к юсб. Видает мне раз в минуту пикрелейтед. Мне же нужно только флоат значение. Т.е. на входе пикрелейтед на выходе:26.7026.6026.60
float(x.decode('ascii').rstrip())
>>1169418>float(x.decode('ascii').rstrip())спасибо бро
Анон укажи путь. Я большую часть свободного времени пытаюсь уделить обучению, но как-то получается, что 90% времени я провожу в гугле, и лишь 10 за кодом. Мне кажется я не развиваюсь. Может есть какие советы по огранизации обучения от бывалых?
>>1169484Если ты вот этот уникум >>1169111, то - Создаешь текстовый файлПишешь туда те строкиПереименовываешь файл в zaloopa.pyПишешь в командной строке "ПОЛНЫЙ_ПУТЬ_К_ПИТОНУ ПРОБЕЛ ПОЛНЫЙ_ПУТЬ_К_ЭТОМУ_ФАЙЛУ" (без кавычек, и пробел - это пробел)И все.К слову, откуда желание заниматься этим? Ты за компьютером точно работал раньше?
Можно где нибудь скачать/установить не такие обсосные подсветки синтаксиса в пайшарм ?
>>1169337Что-то разве не так?
>>1169111Ты гений, чувак. Я никогда не думал, что троллинг тупостью может выйти на такой уровень. Аплодирую стоя.
Пацаны , стоит ещё матан упарывать параллельно ? Знания примерно на уровне 9-10 класса + дискретку чуть чуть знаю.Если да , то посоветуйте пожалуйста годных курсов/литературы
>>1169414>>> data=b'26.70\r\n'>>> result=float(data.strip().decode('utf-8'))>>> result26.7>>>
>>1169487Лол, нет. Я ушёл немного дальше. Где-то на месяц от того уникума. Я тот кто бота в телегу писал, хз видел меня нет. Просто я вроде чем-то занимаюсь, но как-то не чувствую что развиваюсь. Кроме этого бота нихуя не написал за месяц (или больше). Сейчас по совету одного анона здесь пытаюсь в него mongodb встроить. После этого наверное посмотрю на postgre, ибо все вакансии что есть в моей мухосрани требуют знание хоть какого-нибудь sql диалекта. Хотел заниматься изначально DataScience, не потому, что модно, а потому что в восторге от возможностей математики, всегда считал её магией или читом ирл, но т.к. живу в мухосрани получить опыта в этой теме не выйдет. Поэтому пока что поплыву по течению ради опыта:BDджанго раскрепощённыйflaskИ что там ещё было в картиночке "Что нужно для джуна python в 2017".Просто мне нужна ЭФФЕКТИВНОСТЬ! из двух недель я не могу заниматься программированием ттолько 3 дня. Остальные могу посвятить не менее 6 часов (хотя с ночных смен иногда приходится спать).
>>1169529Зависит от рода деятельности.
>>1169559Для общего развития и развития абстрактного мышления в частности.
>>1164614 (OP)Анончик, потихоньку осваиваю Питон для личных нужд, понравилось, что в стандартной библиотеке есть диалоговое окно ввода из модуля turtle (чтобы не в скрипте изменять данные или не вбить инпуты через командную строку), но оно вызывает лишнее окно рисования и вообще слишком простенькое.Планирую осваивать уже создание полноценного окна с выбором чекбоксов, радиокнопок и полей ввода. Я так понимаю, для этого нужно подключать PyQt5 и изучать уже его, да?А еще вопросец такой: если я не хочу сливать несколько скриптов в один, чтобы не загромождать его, можно как-то сделать, чтобы при вызове главного скрипта по ходу действия вызвались дополнительные? Подозреваю, что можно, но тогда требуется ли в этих дополнительных скриптах повторно прописывать импорты, дефайны функций и переменные, если они и так есть в главном скрипте?
Всем питон. Я недавно выучил чистый питон на хороший ну нормальный уровень. Познакомился с django. Хочу спросить у опытного анона, какой проектик сделать на питоне, чтоб и интересно и полезно? Буду очень благодарен
>>1169596Далеко не обязательно сайт, про django я просто так сказал, к слову)
>>1169596Хз, интересно пилить игори, как по мне. А полезно - какой-нибудь софт. Например, чтобы в Стиме при попытке зайти на игру 18+ он бы не запрашивал каждый ебаный раз твой возраст.
>>1169615А можешь мне помочь с технологиями, ну для старта хотя бы. Просто фраза "Читать все книги" безусловно правильная, но так ничему и не научишься сто лет будешь учиться хер пойми чему. Вот, например, чтобы такую фигню со Стимом написать, что надо? Да и просто, что нужно, чтоб работку найти, хотяб бичевскую.Знаю как ботов для ТГ писать, RESTful, django на начальном уровне, OpenCV тоже так, средненько, сейчас буду учить как парсить всякие сайтики на питоне.
>>1169618>например, чтобы такую фигню со Стимом написать, что надо? А я откуда знаю? Ты идею просил, я подкинул.Можешь попробовать автоввод при открытии этой страницы.
>>1169596>чтоб и интересно и полезно? Сделали же вам, молодёжи, github, bitbucket и иже с ними: есть внятные задачи (как баги, так и фича-реквесты), есть польза для компьюнити, есть опытные кураторы, есть отлаженная система, не дающая наступить на ряд популярных граблей.Нет, не хочу, хочу делать миллионный тетрис и аски-змейку. Деды так делали, и я так хочу, хочу быть как дед.Дед плачет, что в его время не было таких возможностей участия в опен-сорце, как сейчас. Потому иди, найди молодой проект, чтобы тебе было хотя бы отдалённо интересна тематика, разберись со структурой, выбери issue и пили пулл-реквест.
Анон, вот смотри, есть два способа реализовать одну и ту же функцию: https://repl.it/repls/LeadingSugaryMethodsКуда сядешь куда мать посадишь? Ну то есть, во второй явно могут потенциально производиться кучи ненужных проверок. Даже если не было дано дефолтное значение или набор верных значений, всегда будут идти проверки на них (if default, if valid). А в первом случае такого нет. Но сама функция выглядит вроде как сложнее. Что из этого выбрать? Как бы вы написали на работе?
>>1169663Однозначно 2ой вариант.И ещё короти, типа https://repl.it/repls/YawningGrizzledBlogs>Rule of Economy: Programmer time is expensive; conserveit in preference to machine time.
Интересный бложик. Может, кому поможет. https://arvimal.blog/
Мне нужно уметь делать complex and sophisticated parsers чтобы стать джуном?
>>1169414>>1169418
>>1169671>>1169663А чего бы не вот так вообще? https://repl.it/repls/NearLightblueComputation
>>1169508Удваиваю! Почему-то в хипсторедакторах на электроне из коробки всё заебись, а переключить и скачать тему проще чем запустить код на выполнение. Почему в пичарме этому уделено так мало внимания непонятно. Собственно, отказался от пичарма от части по этой причине.
>>1169815У тебя логика изменилась: если заданы и valid и default, которого нет в valid, то ты не примешь default. Я не говорю, что это неверно, но в изначальной редакции поведение было другим.
Аноны, платиновый вопрос, наверно. Но все ж.Пилю себе парсер цен. Хочу чтобы скрипт красиво выводил "цена на розовую дилду стала ниже, для снижения цены потребовалось X дней". Как лучше считать этот X дней?
Кто-нибудь имел опыт портирования змее-скриптов на венду? Суть: пилю прогу python+selenium webdriver. Для запуска браузера, нужно установить вебдрайвер на кудахтер. Можно ли сделать как-то установщик, чтобы из коробки работало все?
>>1169767> Англюсек
Какие есть работы на питоне кроме макакинга на джанго/фласке?
>>1169874ds & ml
>>1169879> dsData science? Что это означает вообще?
Анон, объясни мне PyParsing: http://pyparsing.wikispaces.com/> Pyparsing 2.x supports Python versions 2.6, 2.7, and 3.x. If you are using Python 2.5 or older, you must specifcally install version 1.5.7.Что это вообще значит? Написано же, что Pyparsing 2.x поддерживает Питон версий 2.6, 2.7 и 3.х. И потом написано, что если я использую любую из них, то мне надо ставить 1.5.7. У меня вроде с англом нормально но это не понимаю. Почему мне надо ставить 1.5.7 для моего Питона 3.х, если Pyparsing 2.0 поддерживает 3.х ?
>>1169886лолПлохо у тебя с английским
>>1169898Я хотел сказать, что ты блять охуел, и когда писал перевод по строчкам кажется понял. older это же старше, типа для питона 2.5 и старше сука т.е. 2.4 и т.д. вниз нужен старый PyParsing. Спасибо. Наверное. Иди нахуй.
>>1169883Наука о данных?мимо anglichanin
>>1169839Я об этом думал, да, но иметь дефолтным значение не из valid это как-то ниочинь: ведь в скобочках у промпта будет выведен этот дефолт, а если ты его руками напишешь, то тебе как хуём по губам: "неверный ввод!". Так-то да, ты прав, немного поведение изменилось, но зато код на две строки короче!
>>1164614 (OP)сап питонычиесть вопрос по джанго:я за небольшой промежуток времени собрал из говна и палок небольшой интернет-шоп и хочу прикрутить туда возможность смены валюты на товаре. То есть по дефолту у меня в моделье есть цена в нативной валюте, а допустим потом я хочу ее поменять и на всем сайте это уже, допустим, доллары и заказ оформится для долларов. Как это правильней всего сделать?
>>1170079При создании товара продаван должен указать цену продукта в нескольких валютах,имхо.Ну или ты должен указать курсы валют в можете какой и потом пересчитывать цену, в зависимости от выбранной валюты юзером.
>>1168951Анончик, чего накатывать в виртуалбоксе?Это ад какой-то, второй день ебусь, пиздец блядь, мой анус уже радиоактивным пеплом станет скоро.Поставил спермёрку, накатил Visual Studio 2017 Community (Microsoft.VisualStudio.Workload.NativeDesktop и .Python), накатил Python 3.5.3 amd64 (целевая платформа) -- эта сука говорит "не вижу vcvarsall.bat". Сайт МС говорит, что 2017 должно быть достаточно. Нихуя не понял.Ладно, похуй, поставил для 2ого VCForPython27, с 32-бит та же хуйня (vcvarsall.bat???), но ВНЕЗАПНО 64-бит запустилося, собралося, только с включенным OMP (-openmp) не запускается (пикрил, блядь, чего оно от меня хочет, сука?! 2к18 на дворе, тварь, почему ты не можешь в юникод?!), без него работает.Т.е. в итоге после полутора дней ёбли не дотянул даже до того, что имел с wine+mingw.Ананасы, как вы это делаете? Как вы собираете нативные расширения под винду? У меня ещё, кстати, не используются всякие PyMem_malloc и прочее, т.е. мои расширения не зависят от ABI, по идее, потому и использую радостно статическую линковку и всё заебись работает на куче самых разных линуксов; а в винде (на стаковерфлоу) мне говорят, что надо собирать и линковать с тем рантаймом, с которым собирали пистон на целевой платформе, чего за беспредел, неужели статически нельзя слинковать?Алсо, окончательно проиграл с этого:>The issues surrounding Python packaging are some of the most complex in our industry right now. Versioning is difficult, dependency resolution is difficult, ABI compatibility is difficult, secure hosting is difficult, and software trust is difficult. Ну охуеть теперь, три Дебиана, четыре Убунты, СентОС, фря, хоть x86, хоть amd64, хоть arm -- всё работало как часы из коробки, а вот ишь ты, оказывается, всё сложно пиздец как, ну как бы я жил без винды, прозябал бы во тьме неведения.
>>1170116> хую
Тупой вопрос итт: Насколько реально вкатится, если я вообще не имею представления о программировании. Не обоссывайте
Эй, любители потеребить Питон, дошел до такой штуки как tkinter. Вопросы:1) Он подходит для готовых но простых программ? Или это чисто учебная штука и для любого serious shit надо обязательно PyQt осваивать?2) Как чуваку, который хочет вкатиться в бекэнд мне вообще надо особенно сильно об этом заморачиваться? Или прочитаю документацию по tkinter и tk/tcl и можно забить?
>>11702491. подходит, особенно если "для себя" и есть гарантия, что не будет очень сильно расти проект2. достаточно даже не знать, что tkinter существуют
>>1170216Очень реально, даже я вкатываюсь, а я не только о программировании понятия не имел, но даже информатику в школе прогуливал.
Молодёжь. Иду на Django джуна. Какие вопросы задают? Какие подводные?
>>1169642в смысле там можно находить проекты, по которым разработчики просят коммюнити помочь что то дописать или исправить ?Если да то как такое иискать ?
>>1170382Да, фильтруешь проекты по интересующим признакам (python etc.), сортируешь ну скажем по росту популярности за последнюю неделю/месяц, находишь что-то тебе близкое иипонятное, смотришь как живо идет процесс разработки, залезаешь в issues, ищешь чего мог бы сделать, делаешь, создаешь pull request, дальше разработчик его смотрит, говорит чего не так, потом принимает, а если даже и нет, то все равно тебе +экспа. В матерых проектах часто есть раздел в readme "Contributing" или отдельный файл типа https://github.com/scipy/scipy/blob/master/CONTRIBUTING.rstЭх, блджад, где мои 17 лет, хуярил бы сейчас в сайпай или астропай топовые научные статьи: сразу ингриш, нОука, си, питон, гит, сфинкс, латех, смаке и еще и с интересом... А я пердун, который свое говно под винду за выходные скомпилить так и не смог, ебаный стыд.
Как расправиться с следующей проблемой?$path1/script1.py```spec = importlib.util.spec_from_file_location("module", "$path2/script2.py")module = importlib.util.module_from_spec(spec)spec.loader.exec_module(module)module.foo()```$path2/script2.py```from script3 import barbar()```$path3/script3.py```bar()```ImportError: No module named 'bar'
>>1170475Всё, нашёл.
>>1170392Хуле щас не хуяришь?
Есть приложение на джанге, которое работает на веб-сокетах (channels), оно должно получать от юзера адрес страницы и парсить некоторый сайт. Получение с клиента инфы я сделал, теперь нужно сделать так, чтобы приложение запускало некоторые сторонний сервис, который выполнял бы парсинг и частями отдавал юзеру спаршенную инфу. Пытался сделать для каждого юзера группу (выдав ему uid) и запустить парсинг в стороннем скрипте, но скрипт не хочет отсылать что-либо обратно юзеру. Подскажите, плиз, как правильно такое реализовать? Т.е. чтобы какой-то скрипт делал какую-то работу на стороне и отдавал бы юзеру инфу и в это время не блокировал бы приложение. Код этих двух файлов (consumers и parser) можно посмотреть тут https://pastebin.com/Rsg5T4sx
>>1170532Гугли Celery. Там вроде можно и статус чекать, но скорее всего придется в несколько тасков запускать парсинг.
>>1170532Перепиши его на жс. Так будет лучше.
Как благородное сообщество относится к pipenv, используется ли в продакшене? Или все с виртуаленв делают?
>>1170539pipenv - надстройка над virtualenv
>>1170539Нормальные пацаны юзают контейнеры, для каждого отдельного проекта
>>1169860Ебись с алгоритмом, который сравнивает цены других товаров.
>>1170539Два раза пытался попробовать — оба раза крешилось сразу же, на первой же команде. Говно.
>>1170116> статически слинковатьА, ну это тебе к pyinstaller петухам. Так бы сразу и сказал.> надо собирать и линковать с тем рантаймом, с которым собирали пистон на целевой платформеДа. Я тебе об этом и говорил. Нужен не 2017-мокрописьки эдишен от васяна, а прицельно нужный пакет с компилятором. Далее ебашишь xml конфиг проекта (вот только ради этого может понадобиться студия по большому счёту) и собираешь через msbuild.
>>1170116https://wiki.python.org/moin/WindowsCompilers
>>1169860> Как лучше считать этот X дней? Вычесть из сегодняшней даты дату прошлой записанной цены (относительно которой она снизилась), очевидно. В чём твоя проблема?
>>1170622А что не так с pyinstaller?
>>1170249Qt нужен, tkinter старое гавно
Господа, а неужели, чтобы воспользоваться Tensorflow в PyCharm обязательно надо устанавливать гигабайты Nvidia GPU софта?
Какие есть альтернативы базы данных для множественных (и одновременных) вызовов?
>>1170622>нужный пакет с компилятором. Вот нахуя, если я не пользуюсь питоновской кучей? А vcredist в каждой второй проге или десятки копий msvcr90. dll на машине это не петуханство? Алсо, нашел ноут с вин10 и все собралось, хотя OpenMP так и не работает, я знаю, что там багов полный рот вплоть до vs10 включительно, так что забью, пожалуй, да и это уже не в этот тред. То ли вин7 паленый, то ли виртуалбокс не едет.
Перекат для антошек уставших от пассивного говна вместо опа>>1170797 (OP)>>1170797 (OP)>>1170797 (OP)>>1170797 (OP)>>1170797 (OP)все предложения оставляем в гудрайве на сайте из шапки
Аноны, а как организовать парсинг функции из строки? Или-же генерацию функции прямо в коде.Допустим, у меня есть 10 параметров и задача. Для решения задачи нужно построить формулу из этих 10 параметров. Правила её построения есть, но как это реализовать в коде? Не хочу делать 200 строк всяких ELIFов. Должен же быть некий "красивы" подход. >>1164614 (OP)ИРЛ пишу нейронку-автопилота, с тестированием в KSP (потому что нет шекелей на квадрик)
>>1170829Пример бы хоть показал, так тебе нихуя не посоветовать.
Я взял простой пример нейронной сети выполняющей задачу регрессии:http://mexuaz.com/opencv-machine-learning-03/Код написан на Tensorflow 1.2/Keras 2.0.5Я хотел взять ту же задачу, распараллелить её и выполнять в полотора-джва раза быстрее на нескольких ядрах. Я стал искать как же в Tensorflow/Keras делается параллельность на нескольких ядрах и нихрена не нашёл, нашёл только про подрубание GPU видеокарты. Насколько мне показалось, в Tensorflow/Keras автоматически используется параллельность ядер. НО! Узнать об этом точно у меня не получается, так как у меня всего два ядра. Я взял PyCharm в котором у меня код программы на Tensorflow/Keras, и в диспетчере задач отрубил второе ядро, оставив только одно. И эта программа на Tensorflow/Keras выполнилась вдвое медленнее.ПОЭТОМУ Я ХОЧУ СПРОСИТЬ, ПРАВИЛЬНО ЛИ Я ПОНЯЛ, ЧТО В ПРОГРАММЕ НА Tensorflow/Keras АВТОМАТИЧЕСКИ ИСПОЛЬЗУЮТСЯ ВСЕ ДОСТУПНЫЕ ЯДРА ДЛЯ УСКОРЕНИЯ НЕЙРОННОЙ СЕТИ?
Парни, помогайте: как реализовать поиск письма на Python 3.6, зная емейл и пароль? Ни IMAP, ни POP3 серверов не известно. Емейл может быть в какой угодно доменной зоне. Какие библиотеки использовать и что почитать?
>>11708841. А почему ты не попробуешь многопоточность через threading? На хабре есть подробный гайд по многопоточности в питоне.2. Тебе стоит немного почитать о своём процессоре. Например в i3-7100 физических ядер только два, а виртуальных аж 4 (то есть (12)+(12)). Количество потоков получается достаточно большим, а система резвой. Потому что, я в крайней мере сомневаюсь в возможности отключения одного из ядер CPU вообще. Этож блять нонсенс! Всё равно что половину микросхемы или транзистора отключить.Хотя должен сказать. Я немного тобой восхищаюсь, ибо всё ещё не могу в тензор :с
>>1170852Вот, например, функция отвечающая за манёвр причем, в любом измерении, на любом ЛА, она одинаковая. В зависимости от изменения параметров, меняется форма кривой. Я пишу простейшую нейронку, которая могла бы анализировать мой полёт и представлять его в виде набора однообразных манёвров т.е. по одной функции с разными параметрами. Это, фактически, будет обучением с учителем.Но забегая немного наперёд возник вопрос: а что делать если ЛА потребует более сложных функций, чем просто "скат"? Например, в начале или в конце манёвра на графике это места, где кривая переходит в горизонтальную линию, может быть болтанка, которую нужно будет ослабить. Для этого нужно прямо в функцию включить синусоиду, в нужных местах. Чтоб этого достигнуть, нужно дописать в функцию переменные и параметры, которых на момент запуска программы просто нет. Вот тут и возникает вопрос — как это сделать?Сорри что пример не в коде, у меня пока с трудом идёт адаптация всего этого в программу.
>>1170884Да, используются все ядра. Тензорфлоу строит граф вычислений, который независим от железа. Это слишком абстрактно для решения одной конкретной задачи, если ты ее хочешь сделать полностью сам.>>1170983>А почему ты не попробуешь многопоточность через threading?Через потоки ускорять вычисления не получится из-за GIL. А вообще, Keras имеет намного более высокоуровневый интерфейс, и вопросы с ядрами и потоками решает без постороннего вмешательства.> Потому что, я в крайней мере сомневаюсь в возможности отключения одного из ядер CPU вообще. Этож блять нонсенс!Такое вполне вероятно. ОС может перестать задействовать ядро в планировщике задач и отключить ядру питание, насколько это позволяет модель процессора. Подобные режимы сна - не редкость, особенно для мобильных и встроенных процессоров.
>>1170983> А почему ты не попробуешь многопоточность через threading?Я не знаю как такое в Tensorflow/Keras сделать>Потому что, я в крайней мере сомневаюсь в возможности отключения одного из ядер CPU вообще. Этож блять нонсенс!Не, не по настоящему отрубил ядро, а только для PyCharm через диспетчер задач отрубил 1 ядро. Зашёл в диспетчер, взял PyCharm и вместо All CPU CPU0 CPU1 снял галочку и поставил только CPU0.>Я немного тобой восхищаюсь, ибо всё ещё не могу в тензорЯ тоже не могу, я просто загуглил готовый код и загуглил, что он работает только с версиями Keras 2.0.5 и Tensorflow 1.2 и в PyCharm установил такие.
>>1170983>>1171008Спасибо больше за ответы
>>1171002> Вот тут и возникает вопрос — как это сделать?Ну, дописать в функцию, как ещё. Изначально можешь установить такие коэффициенты, которые приведут дополнительные члены к 0 или 1, получая свою первую функцию.Либо можешь иметь несколько функций с разным набором параметров и выбирать между ними когда надо.Твоя нейронка сама по себе функцию не выдумает же, тебе в любом случае где-то нужно будет прописать эти новые параметры.
>>1171002Не уверен что правильно понял что тебе нужно, но посмотри на sympy, пакет для символьных вычислений, сможешь динамически конструировать математические функции.
>>1171077Да, дописать в функцию это конечно действенно, но это частное решение. Т.е. мне нужно будет предусмотреть возможные варианты, заблаговременно, что вносит ограничения в систему. Я же хочу сделать некую абстрактную структуру, которая сама могла бы порождать частные решения, на каждый случай. Возможно я прошу у двача слишком многого, но думал что тут есть люди могущие в агентно ориентированное программирование, где фактически создаётся код, который сам себя дописывает. Пока, единственный подходящий выход, который вижу, это создать генератор кода в txt-файл, с разметкой через заданные символы например отступ через символ Tab или 6 alt+255. Правда потом нужно как-то сменить расширение файла на .py и каждую итерацию его нужно будет занового загружать наверно через FROM [xxx] import [YYY], чтоб принять поправленный код. По крайней мере, это то, каким я понимаю агентно-ориентированное программирование в данный момент. Возможно, более опытные аноны смогут меня дополнить или поправить.Но пока, у такого плана есть 3 проблемы:1. Как в txt-файле с кодировкой UTF-8 сделать необходимое количество отступов, без использования нормальных IDE типа Шарма или Атома? Я вот хз, например, как сделать табуляционный пробел в таком файле, чтоб он сохранился. Может в ASCII порыться?2. Как, прямо в коде, реализовать смену формата файла, с txt на .py? я хоть и макака ещё, но с таким точно не сталкивался ранее3. Где-бы найти информацию про такое? Пока, даже гугл, даёт ссылки лишь на всякие научные работы по 5-10$ за штуку. В планах только попробовать Google Scholar и доки оттуда. Хотя может есть хорошие форумы по пайтону можно даже на английском
>>1171231Спасибо за либу. Попробую в неё вкатиться.
>>1171062>Я не знаю как такое в Tensorflow/Keras сделатьТак есть кажется стандартная для PyCharm либа threading. https://habrahabr.ru/post/149420/
>>1171314UPD:Alt-код для TAB это Alt+09, который работает в блокноте, но не работает в PyCharm
Аноны. Поясните плес за многопоточность. Я что-то её не понимаю. Могу понять параллельные вычисления, когда одна функция/класс/метод с разными параметрами работает на большом числе CPU, но зачем многопоточность на 1 процессоре/ядре? В чём плюс, если можно тоже самое записать в линейный цикл, в одном потоке.
>>1171419Уже не актуально
>>1171314> и каждую итерацию его нужно будет занового загружатьimportlib.reload(mymodule)>Но пока, у такого плана есть 3 проблемы:Вот это у тебя проблемы конечно. >1.Как сделать необходимое количество отступовЭм, открыть текстовый редактор и нажать на кнопочку tab? Ты в коде не так отступы делаешь, что ли? Или писать '\t' в файл, если из кода делается. Или ты имел в виду необходимое с точки зрения синтаксиса питона?>2.Как, прямо в коде, реализовать смену формата файла, с txt на .py?А зачем? .py это обычный текстовый файл, сразу в него и пиши. Это всего лишь имя файла.По поводу АОП, к сожалению, ничего не подскажу. Мне просто твой реквест виидтся не совсем выполнимым в том виде, в котором ты хочешь. На основе чего эта абстрактная структура будет что-то создавать? У неё будет набор примитивных мини-функций или членов возможных функций или как?
Я нуб, зашел в шапку, увидел все, что мне нужно. Сижу, изучаю. Аноны, добра вам
>>1171529>importlib.reload(mymodule)Сяп, попробую.>необходимое с точки зрения синтаксиса питонаВот именно для этого мне и нужно будет написать программу, которая будет знать синтаксис питона, чтоб мочь в написание кода.Сам код будет является набором подготовленных модулей или шаблонов. Например, в случае если для решения проблемы потребуется итерация, программа сама создаст цикл While или For. То есть будет некий блок поведения и блок возможных вариантов действия. Блок поведения пока хз как будет работать, но он будет строить новые блоки, за счёт композиции возможных вариантов действий, прописанных в шаблонах. Это как строительство из лего. У тебя есть N готовых блоков и некий свод правил, как их соединять синтаксис, в моём случае, дальше нужно накатить принципы постройки структур и как-то это связать с поведением. Это то, что я понимаю под АОП, в самом простейшем исполнении. >А зачем? .py это обычный текстовый файл, сразу в него и пиши.То есть, я могу написать так? file = open(“testfile.py”,”w”) ???
>>1171800>То есть, я могу написать так? file = open(“testfile.py”,”w”) ???Ну да.>Вот именно для этого мне и нужно будетНу, с отступами-то просто: все твои блоки будут написаны с нулевым отступом, а хрень, которая соединяет их, будет иметь некоторую переменну состояния, через которую следит за текущим отступом, добавляя нужно количество табов/пробелов к каждой строке блока.А не пойти бы тебе в новый тред? Этот тонет уже давно.
>>1171867Только-только его обнаружил.
Как взять через запрос API получить файл в JSON-нотации и сохранить в CSV?
>>1169566>нужно подключать PyQt5 и изучать уже его, да?Да. Осваивал его видеокурсом на ютюбе.
>>1171867Что-то каждый нечётный питонотред как-то упадочный
>>1172080ты с АПИшки уже получаешь все данные в JSON, просто потом сохрани их в csv и делов-то
>>1164614 (OP)Очень нужна ваша помощь:Нужно сделать клиент для MongoDB, вот только все запросы будут писаться в виде SQL ( не спрашивайте зачем )Вообщем, вопрос: Как правильно распарсить этот SQL запрос? Или нужен другой подход?
>>1167870>matlab - это проприетарный пакет для математиков.Поржал с дауна. Да, проприетарный, но говорить, что матлаб - это пакет для математиков - значит быть одним из миллиардов ебланов, которые любят пиздеть, не разбираясь в вопросе.