>>1046298 (OP) Все ещё вкатываюсь в Питон. Я правильно понимаю, что в Питоне для функций нет такой хуйни, как передача по значению или по адресу? Просто либо я даю ему immutable переменную, типа int или string, и что бы функция с ней не делала, исходная переменная не изменится, либо даю mutable, типа листа или словаря, и все изменения такой переменной закрепятся и при выходе из функции? При этом Питону вообще поебать, находится переменная внутри функции или снаружи?
Что почитать про алгоритмы абсолютному нубу? Чтобы не обосраться на собеседовании, когда попросят реализовать красно-черное дерево или написать пузырек
>>1046435 Я не миможавер, но не очень понял, что ты хочешь сделать. Про адреса как в си забудь, в питоне же только ссылочки. На объекты в куче. Объект либо мутабелен, либо операции над ним сами создают новые объекты каждый раз. Вот ты и ссылочки и передаешь. Нужен сайдэффект для иммутабельной? Оборачеваешь в мутабельную и с богом. Но я уверен, что в питоне есть технологии для этого.
Стоит ли сегодня учить питухон для веба? Мимо .NET-чик, мечтающий abandon this sinking ship. PHP хуёвый, ruby не нужен, node.js - может быть. А как дела на змеином фронте?
>>1046726 Веб разный бывает. Мне для собственных сайтов питон очень подошел, так как есть крутые и почти ни в чем не ограничивающие Flask+SQLAlchemy. Если целишь на серийное ляпанье говносайтов, то тут пэхопэ вне конкуренции. Если интересует в перспективе хайлоад, то тут, пожалуй, стоит учить питон только если будешь работать в ДС или на забугорную фирму, в питере уже вакансий маловато, в пр. милионниках думаю совсем мало.
>>1046739 Я вот стремлюсь строго в дс/дс2, потому что в моей 50к мухосрани работы вообще никакой нет. Да и многие мои родственники и знакомые из моей мухосрани собираются в ближайшие 5 лет съебать в дсы.
>>1047086 На удаленку без опыта работы вряд ли кто меня возьмет, но я обязательно попытаюсь. Можно, конечно, ежедневно ездить по 4 часа в одну сторону на работу в областной город, но это пиздец
>>1047086 Кстати еще у меня интернеты очень хуевые, проводного интернета нет, приходиться пользоваться 3G свистком с лимитом трафика в 30Гб за 700 рублей
Решил поставить библиотеку pil на винде, вроде все в path указал, а при попытке установить выдает ошибку, в чем же проблема или лучше переходить на линупс?
Сап двач, тут вопрос появился: какая из реализаций более красивая и правильная, на ваш взгляд, учитывая то, что аргументов в классе будет не два, а несколько десятков?
Пытаюсь в сетевое программирование, но дальше простых клиент-сервер, принимающих разную приблуду пока не реализовывал. Может есть какие то задачки или опен соус проекты? Помогите
>>1046298 (OP) Не знаю туда ли обращаюсь. Но посоветйте либу, либо что-нибудь подобное. Вкратце: у меня есть десяток процессов, каждый из них отдает статистку в виде нескольких значений. Мне надо эти значения рисовать в виде красивого интерактивного графика в реальном времени с допусками и прочими ништяками. Этакой дашборд. Не важно: гуй, веб. Главное чтобы максимально просто и стэнделон, будет на нескольких компах крутиться. Почему питон? Просто система управления процессами уже накостылена на нём, не охота зоопарк раздувать.
>>1046298 (OP) С питоном не имею ничего общего, работна с html/css/js предложили работу и сделать небольшое тестовое задание извлечь данные из json и поработать с ними, что-то у меня не получаетя, гуглил, но так и не понял в чём проблема.
import json ath = 'sales.json'
with open(path, 'r') as sales_data: data = json.load(sales_data) print(data['event_date]'])
Выдаёт ошибку - TypeError: list indices must be integers, not str.
Но если при выводе информации к data не дописывать аргумент, всё работает.
>>1053336 Загуглил и на буржуйском тоже, варианта решения так и не нашел, предлагают луп данных самих на себя. Поэтому и решил спросить в треде, может я что-то упустил или не понял.
>>1053356 Никакого подвоха тут нет, будет просто кейеррор если такого ключа 'event_date]' и правда нет , но у того хуя там не словарь, а список, поэтому у него и вылетает TypeError.
>>1053358 Будь добр обьясни мне jsмакаке что не так, то я проебался там print(data['event_date']) но я всё равно не понял прикола. На сайте питона, в инструкции по модлю json ничего на этот счёт я не нашел.
>>1053436 1) Впиши в начале файла #!/path/to/python3 2) Сделай файл исполняемым при помощи chmod. 3) Можешь переименовать и убрать расширение, файл всё равно будет запускаться ./filename 4) Если хочешь запускать без указания пути, то добавь директорию в PATH.
Анон, почему в этом коде, если использовать решение со списком (закомментированный код), при подаче второй строки равной первой в списке появляются дубли? Там же выполняется проверка not in, почему предыдущие вхождения игнорируются для второй строки?
ВОРВАЛСЯ НАХУЙ. Смотрим пикрелейтид. Есть задание, есть пока только реализация парсера и даже она не закончена. Ответьте на мои вопросы плз: 1)Как убрать пустые строки между usage,description и help-message? 2)Как вообще изменить usage и help, чтобы 'usage' было с большой буквы (как пример в книге), а в help-e вместо 'optional arguments' было 'Options'. Ну и order поправить надо. ХЕЛП МИ ПЛИЗ. Вот ещё ideone ссылка на всякий: https://ideone.com/EMNqoN
>>1053657 Забыл написать 1 штуку: может это связанно с тем, что я использую не optparse, а argparse? Я документацию уже перечитал, нет там ничего про какое-либо нужное мне форматирование вывода usage,description и help-ов.
>>1054057 Пиздец, и ты за это время сам не догнал решение проблемы? Тебе же написали, что твой жсон транслируется в питоновский список к которому ты пытаешься как к словарю обратиться.
>>1054102 Вот на эту книгу смотрел, вроде интересно, но там блять столько jquery, которого я ваще не понимаю. Ну да похуй, буду с ним разбираться походу дела тогда.
>>1054065 Я пытался сделать со списка словарь, гугления ничего не помогло, в питоне вообще ноль, сейчас прохожу курс на кодкадеми, потому что доки питона мне не дали ответа, а книгу читать в 400стр времени нет. Если кто-то даст решение, а не просто будет говорить что я туп и в душе не ебу что делаю, буду благодарен.
>>1054226 Еще раз, у тебя из жсон-объекта питон делает список с одним элементом который и является словарем к которому ты пытаешься обратиться, print(data['event_date]']) замени на print(data[0]['event_date]']) или лучше перед этим ебани data = data.pop() если у тебя этот словарь единственный.
У меня тупой вопрос. Можно ли сделать питон менее строгим? После многолетнего опыта с башем я осваиваю айпитон как скриптовый язык для администрирования. Мне всё очень нравится, но любая нештатная ситуация приводит к падению. Например: 1) Нет файла для открытия: баш ругнётся и будет крутиться дальше дальше, питон упадёт. 2) Попробуешь прочитать необъявленную переменную: баш подсунет пустую строку, питон упадёт. 3) Дёрнул несуществующую переменную: баш скипнет, питон упадёт, и так далее. Есть ли какие-нибудь способы смягчить его поведение, кроме как оборачивать каждый второй пук в трай-кэтчи и заранее продумывать обработчики на все случаи жизни? Какой-нибудь параметр при запуске?
>>1054846 Почему тогда в баше или перле это норм? В баше можно загунть бесконечный луп с проверкой хоста и быть уверенным что он отработает. А питон нельзя: вот в 3 часа ночи у тебя хостнейм не отресолвится перезагружающимся днсом и всё упадёт.
>>1054853 Потому что баш и перл - говно. Обработка ошибок должна быть явной. Если что-то пошло не так, лучше сразу об этом узнать. Если ты запустил скрипт, а там половина строк выполнилась, а половина нет, и хуй пойми в каком состоянии у тебя теперь система - это нихуя не норма.
>В баше можно загунть бесконечный луп с проверкой хоста и быть уверенным что он отработает. А питон нельзя Тело цикла в try except завернул - и он уже никогда не упадет, если так надо.
>>1054865 >Потому что баш и перл - говно. Какая категоричная вебмакака. Ладно, я вас понял. Буду оборачивать всё что плохо лежит. Что толку в лаконичном синтаксисе, если на каждый обработчик надо 3 дополнительных строки расходовать?
Пишу прогу на питоне, которая будет генерировать решаемые квадратные уровнения с действительными корнями. За основу взята теорема виета, вернее, ее соблюдение. Но в самый ответственный момент оператор and перестает работать как надо и начинает работать как or - т.е. выбирает только одно из двух необходимых неравенств.
Код: https://pastebin.com/V0HTaxgb Пикча: выводятся значения корней x1 и x2, названные в коде как x и xx. Здесь отчетливо видно, что прога подобрала решение только к одному неравенству, а на другое положила хуй.
>>1054937 блок else в контексте while выполняется, когда цикл завершается естественным образом (выражение становится равно false), тут не одного break, так что else тут излишен
>>1054908 Так происходит, потому что тебе нужен оператокр OR, а не AND. Цикл с AND выполняется, пока оба неравенства верны. Как только одно из них становится неверным (то есть удовлетворяется часть теоремы), та часть выражения вычисляется в False и происходит выход из цикла. Таким образом, чаще всего b или c оказываются случайными числами.
А вообще, никаких циклов здесь не нужно:
import random x1 = random.randint(1, 100) x2 = random.randint(1, 100) b = -x1 - x2 c = x1 * x2
>>1054946 Поменял на or, прога начала выполняться. Пошел курить - выполняется, пришел - выполняется до сих пор. И хуй поймешь, залупилась она или просто ИЩЕТ так долго.
>>1054954 Ищет долго. Вероятность угадать сразу четыре параметра очень мала. Возможных комбинаций параметров у тебя 163x163x19x19, а уравнений, удовлетворяющих теореме Виета с целыми корнями от -9 до 9 и целыми коэффициентами b и c от -81 до 81 всего 361. (подразумевая, что а = 1)
https://pastebin.com/p7VWAeAj Блять нихуя этот код не понимаю. Вот там написано if not cart тогда сделать пустой словарь из cart и self.session[settings.CART_SESSION_ID] Но в чём смысл, если not cart будет только тогда когда в self.session[settings.CART_SESSION_ID] пустой словарь ? То есть они и без этого условия либо будут пустым словарем, либо нет, нахуй там этот if надо ?
>>1055045 self.session.get(settings.CART_SESSION_ID) вернет settings.CART_SESSION_ID если он есть, либо None, если его нет. Дальнейший if ловит именно эту ситуацию. Весь код можно упростить до
>>1054828 try .. except with ... Проверка переменных (это хоть и скриптовый, но язык программирования - и ты программируешь, поэтому научись думать как программист и помнить свои переменные)
Пайтон-боги, последняя надежда на вас! Есть сайт на ебучем aspx: http://bankrot.fedresurs.ru/Messages.aspx Нужно спарсить сайт с помощью Selenium'а и я не могу, блять, тупо кликнуть на кнопку. Нужно парсить только "Сообщение о судебном акте", т.е. я открываю сайт (с помощью Селениума, разумеется), кликаю на "Тип сообщения", подгружается какой-то фрейм и я не могу, блять, обратиться к элементам внутри этого фрейма. То есть ни селениум, ни jquery (пытался обратиться к ним через консоль) не видны, хотя в коде они есть. Однако при некоторых действиях (я точно не понял каких именно, но например при клике на какую-нибудь раскрывающуюся кнопку) эти элементы становятся, блядь, видимыми. Т.е. только после того как вручную на что-нибудь внутри кликну -- всё нормально.
Пытался эмулировать Селениумом клик по координатам -- тоже нихуя не вышло. Анончики, помогите пожалуйста.
>>1055292 Не нужен селениум, можешь и сам запросики кидать, пикрелейдед. __PREVIOUSPAGE и __VIEWSTATE из сорцов страницы берешь, а дальше сам разберешься, requests тебе в помощь.
>>1055495 Каждый раз импортировать кэшированный math при итерации, кайф А еще while True, который оканчивается break'ом, ты выиграл соревнование по говнокоду Иди синтаксис учи
Решил учить питон по шапке, боюсь на английском читать, есть вопрос, в книжке Лутца написали reverse упорядочивает по убыванию, разве он не просто переворачивает список/массив?
>>1055647 >в книжке Лутца написали reverse упорядочивает по убыванию Что-то сомневаюсь, что там так написано, хоть и Луца не читал. Скорее всего список сортируют с параметром реверс=Тру, или сперва сортируют а потом ебашат реверс.
>>1055647 Не читай лутца, он пидорас и хуесос, каждый знает об этом в треде. Лучше прочти укус питона, а затем ебни саммерфилда "программирование на python 3 подробное руководство", можешь после python cookbook прочитать из шапки
Что за пиздец, товарищи. Накопилось виртуальных окружений и нодовских модулей. Кто-нибудь удаляет неиспользуемые время от времени? Кажись, это будет теперь регулярная процедура для меня, как писюн помыть.
Блин, только новая капча начала мне нравиться... меньше цифр вводить, иногда 1 только, да еще натаскивает меня в сложении-вычитании-умножении-делении на автомате - полезно же ...и тут ее сменили.
>>1055831 У меня терминал полупрозрачным был, мне норм. Ну, точнее, на 70-80% НЕ прозрачный. А вообще, не выёбывайтесь и пишите в виме. Все эти свистоперделки нахуй никому не нужны.
>>1055839 >А вообще, не выёбывайтесь и пишите в виме Ага, только сперва пропердольтесь с подключением десятка плагинов, потом изучите документацию к каждому, ну а там глядишь через недельки 2 и начнете писать код. Ничего не забыл?
>>1055843 Если бьы только документацию. Ты сначала клавиши к нему выучи. А то даже выйти из редактора не сможешь, не зная как. Помню, я я на компе Reset нажималб чтобы из него выйти.
>>1055852 Ну с этим особых проблем нет, по-началу только кажется диким такой способ управления, но потом когда понимаешь суть, становиться легко. постоянно пользуюсь вимом как редактором, но вот начать писать на нем код, как-то не получается, проще в иде-шке. Как представишь, сколько там надо пилить и изучать, желание как-то пропадает.
>>1055850 >>1055843 Есть куча плагинов, которые включают vim-мод в вашей любимой IDE (например, в qtcreator есть). >А Emacs чем хуже? Свистоперделками.
>>1046298 (OP) Вопрос из прошлого треда, а то я и не заметил бамплимита. >Джангисты, вечер в хату. У меня проект с двумя приложениями внутри. Модели обоих связаны друг с другом и как ForeignKey и ManyToMany. Проблема в том, что когда пытаюсь всё это мигрировать получаю CircularDependencyError. Как эту проблему обойти при миграции я знаю, нужно просто один раз закомментить ForeignKey и ManyToMany поля и мигрировать, а потом раскомментить и снова мигрировать. Вопрос в другом. Что это вообще за CircularDependencyError, и почему она возникает? Гугл даёт только ссылки на прямое решение проблемы, но я хочу копнуть глубже. >Я так понял, что раз она появляется, значит я неправильно спроектировал базу данных для проекта? Что делать, чтобы она больше не возникала?
Читаю тут про MVC и наткнулся на указание, что контроллеры нужно делать как можно тоньше, а всю логику совать в модели Я правильно понял, что в таком случае в джанге вьюхи стоит использовать только для принятия данных из форм, маршрутизации и простых действий с моделями, типа удаления\добавления\изменения пользователем
>>1056089 >At the end of the day, of course, it comes down to getting stuff done. And, regardless of how things are named, Django gets stuff done in a way that’s most logical to us. Главное, что бы было максимально логично и если логичнее будет чуть расширить логику вьюхи, то можно чуть "утолстить" ее, я правильно понять?
>>1056092 Ну в джанге, насколько я понял, допустимо помещать логику и в модели и во вьюхи. Всё, что свзяно с моделями - в модели, всё, что с вьюхами - во вьюхи. При этом я видел проекты, в которых логика вынесена в отдельный файл, вроде, utils.py. Это, вроде, тоже нормальная практика. Но давай подождём опытных джангистов, пусть они пояснят нам, как правильнее.
>>1056110 Ну я только и слышу что про плагины к виму которые умеют то да сё, синтаксис, удобства, антидистракшн мод и т.п. А на голом имхо не намного лучше, чем в любом простом текстовом редакторе.
Поясните нубу за отправку емейлов в джанге https://docs.djangoproject.com/en/1.11/topics/email/#quick-example Вот там пример, что просто пишешь от кого и всё, но ведь так реальный емейл не отослать? Потому что у меня celery выдает ConnectionRefusedError, там сначало надо какой-то емейл подконектить, да ?
Посоветуйте книгу по использованию алгоритмов в третьем пифоне, что бы если какой либо метод или алгоритм был уже реализован в стандартной библиотеке, то об этом явно говорили и рассказывали как этим пользоваться
>>1056961 Я имел ввиду не это, основа книги это алгоритмы, но если он уже реализован в стандартной библиотеке, то про это пассказывалось Например описание бинарного поиска и реализация, а потом рассказ про библиотеку bisect
>>1056964 >Например описание бинарного поиска и реализация, а потом рассказ про библиотеку bisect Так бери любую книгу по алгоритмам, читай и юзай эту репу для примеров https://github.com/TheAlgorithms/Python
Кто-нибудь пилил пейпал на своем сайте в джанге. запилил всё с помощью django-paypal, всё вроде идёт гладко, но IPN не возвращается. Пишет пендинг и всё В причине написано Pending reason: unilateral в инете пишут, что неправильный емейл получателя указан, но он правильный.
Сам, аноны. Помогите выбрать - SQLite, MySQL или PostgreSQL? Суть - хочу сделать бота в телеграмме с рассылкой расписания пар в универе, и не придумал ничего умнее, чем селектать это расписание из бд. Так вот, что из перечисленного выбрать?
Аноны, тут позвонили и на собес зовут что бы "писать новые, дополнять старые примочки к CMS", предлагают приехать со своим ноутом и "на коленке развернуть джанго-проект". Поэтому есть вопросы: 1) что за "примочки" такие? Парень мне так и не ответил. 2) небольшой опыт с джангой есть(1.5 коммерческих прожекта написанных в одно лицо), что бы такое специфическое почитать под то на что зовут? 3) обязательно на коленках у него будет сидеть? Как отказаться культурно, если не хочется?
Сап. Как выбрать обойти дерево из ul & li элементов на html странице? Если выбирать узлы через дочерний селектор, то надо прописывать полный путь от вершины дерева, вершина при этом должна иметь класс/идентификатор/тег, который отличается от остальных узлов. Полный путь к узлам одного УРОВНЯ ,например, будет выглядеть как #root>ul>li>ul>li... Чтобы получить доступ к конкретному узлу я использую цикл for-in, который перебирает участки дерева полученные через response.css(node). Проблема в том что в поддеревьях невозможно использовать полный путь.
Кто-нибудь может мне подсказать какого хуя гит пушит файлы которые лежат в .gitignore? Пишарм подсвечивает, что файл серый, пушится не должен, но он всё ранво пушится, какого хуя?
Дерево потом в морде выводить буду с возможностью выбора скачивания конкретных форумов, слежением за обновлениями и т.п. Xpath не смотрел (объем документации отпугнул) , хотел через css попробовать сделать.
Кто-нибудь сможет объяснить, как работает ебучий питон? Почему в первом случае ссылки не указывают на один объект, а во втором указывают? Это появляется только при пробелах в строках?
Вечер добрый, Аноны. Нужен ваш совет. Скачал я пак с книгами из шапки, но не знаю с чего начать. Как человеку никогда не программировавшему, с чего начать изучение?
>>1057651 >Так оно долго работает на больших объектах? Чего? На каких еще больших объектах? >Оно же только проверяет тип? Она сравнивает типы анологично type(a) == type(b)
Хочу вкатиться в machine learning, есть ли гайды от двачей, в нете дохуя видел, облако чекал, книги видел. И еще вот вопрос, счас все юзают питон как мейн язык для machine learning, а нужно ли какой-то язык учить еще дополнительно? Плюсы например и тд, в технический английский могу. Вообщем реквестирую годный гайд для вкатывания в МЛ, англ/русс. студент-бульбаш 1 курс, планирую дрочить и поступать в ШАД
Небольшой инсайд для вкатывальщиков, сейчас до нас дойдет питонохайп с запада, в основном это джанго, но будут и энтерпрайз проекты, дрочите ассинхронность/делайте небольшие проекты в гитхабе и будет у вас счастье через полгода-год
>>1057954 Забавное самовнушение, НУ НИ ЗРЯ ЖЕ Я В ПИТОН ВКАТЫВАЛСЯ ОН ДОЛЖЕН ВЗЛИТЕТЬ!!!1 ВО В ОМЕРИКЕ ОН НА ПОЛПРОЦУЕНТА ПОДРОС ЗНАЧИТ И У НАС ВЗЛЕТИТ
>>1046298 (OP) Анон, хочу освоить async, но не знаю с чего начать. С асинхронным программированием не знаком вообще. Подбрось годных гайдов для совсем нубов, желательно ещё и по asyncio, чтобы я мог это на хочу проктиковать.
>>1046298 (OP) потсоны поясните такую весчь, вкатился в питон до этого немного драконил c/c++ и вот каким вопросом задался.. Что вообще значит выучить/знать язык программирования? Вот к примеру питон, смотрел видеоуроки, прочитал книжонку [Python 3 и PyQt 5. Разработка приложений] + держу лутца как мини справочник такую нудную х*йню в 3-х томах с овер9000 страниц я не видел со времен Лафора с++ но ведь еще имеется куча доп библиотек и расширений которые тоже нужно знать. Где вообще брать всю эту инфу кроме источников указанных выше?
Аноны, нужно распарсить один файл .pcap. Юзаю для этого scapy. Парсинг 10 мб файла занимает 9 секнуд (!!!). Самое забавно, что даже при многопоточной работе - скорость парсинга не сильно меняется(при одном потоке даже быстрее). Какие есть идеи/возможности по ускорению парсинга?
Я один из немногих пифон-кодеров в миллионике, все вкатывальщики уезжают в Москву, в итоге на одно резюме по несколько вакансий, почему всех так в дс/дс-2 тянет, работа же есть
>>1058410 PyPy пробовал? я правда хз чё там сo scapy но у меня мой собственный питоновый код (числодробилка) на нём работал быстрей раз в 50, чем на том, что c python.org
>>1058607 Нет, не пробовал, сейчас с Си немного поиграю и если всё плохо будет - к этому перейду. P.s. Но я всё таки не понимаю, как многопоточность так отсасывает у одного потока, потому как разница разительна.
>>1046298 (OP) Стоп скроллинг. Шкриптик, парсит файло, в зависимости от всякого кладет файло под папкам. Столкнулся с проблемой - в имени файлов на выходе должны быть шкобки "(" и ")". Шкобки в имя вставляются строкой типа файлнэйм = "close_"+"("+time_now.strftime('%H.%M.%S')+")"+".mpg" На выхлопе у файлов получается имя close_\(14.50.56\).mpg Как забороть?
>>1058677 done_name = "ch_{0}_{1}_{2}_close_({3}).mpg".format(words[0], run_time, time_now.strftime('%d.%m.%Y'), time_now.strftime('%H.%M.%S')) ch_R24_15m_07.09.2017_close_\(17.42.12\).mpg Что еще покурить? Можно ли скобки как-то отмазать от \? Да, питон 2.6.6
Использую питон, чтобы перекодировать pickle в текст, но он выводит сплошной текст без форматирования и одной строкой. Есть ли какие-то средства, чтобы питон разбил по строкам? Пробовал autopep8, но он не работает на этом, оставляет текст не изменённым.
Есть какой-нибудь ресурс-сборник разных хитрожопых приемов программирования. Часто бывает такое, что решаю я какую-нибудь задачку на код варс или питонтьюторе и после успешного решения смотрю как решали задачу другие. И порой поражаюсь насколько бывают охуительные способы порешать какую-нибудь задачу, до которых я бы даже не додумался. Интересно есть ли какие-нибудь такие фишки?
>>1059105 1. Scrapy не нужен для парсинга одной страницы. Его мощь проявляется при скрапинге целых сайтов с кучей страниц. 2. Слишком длинные селекторы. Почти уверен, они тормозят больше всего.
Попробовал распарсить твою страницу с lxml (scrapy тоже его юзает). Тут лежит код, вход, выход. http://rgho.st/6ccrQhQwk
>>1059470 Впал в эйфорию. Я уж думал никто не поможет. Можно несколько вопросов? 1. Сколько времени ушло на написание кода? 2. Часто ли тебя можно встретить в этом треде? 3. Сколько будут стоить твои услуги как коуча?
>>1059507 1. Часа два, что довольно много, так как я довен и с lxml раньше не работал. 2. Несколько раз в неделю, в основном выходные. 3. Это не ко мне. Помогаю безвозмездно и только если мне интересна тема.
>>1046298 (OP) Сап, питонач, передо мной встала задача: сделать Telegram-бота с выводом расписания пар в университете. Доступа напрямую к их бд не имею, есть только расписания с самого сайта в виде pdf-таблиц. http://spmi.ru/sites/default/files/raspisanie/4к%20Г%2CПМС.pdf Каким образом можно оттуда спарсить всё это? Возможно ли такое вообще? Тут же pdf текстово-табличный, не просто изображения, должны же быть для такого либы какие-нибудь. В общем, прошу помощи, не вручную же переписывать всё это для всех курсов/факов/групп.
Аноны знает ли местный анон какие либо алгоритмы для перегона обычной фотографии в растровое изображение.
Предположим у меня есть изначально 256 цветовая палитра. Пока что "трассировку" я думаю реализовать так, берем pillow обмазываемся дерьмом и танцуем в пьяном угаре, к изображению применяем немного размытия, дабы изначально усреднить цвета соседних пикселей(или это я хуйню придумал?) И попиксельно перебираю и подгоняю, к моей палитре. Профит? Блин мб кто какие алгоритмы знает, или подскажет где я обосрался, еще же и контуры нужно строить как-то, брать отдельный цвет строить контру и что? А что если я захочу что бы цветов на фото осталось 30, пусть даже 16 оттенков розового из них, главное что бы эти 16 были в первой палитре из 256цветов.
Самая важная деталь это подгон под мою цветовую палитру. На пике результат автоматической трассировки изображения в адобе иллюстраторе,
>>1046298 (OP) Есть скрипт, в него импортируется модуль, в котором есть функция. Эта функция вызывается из скрипта через несколько раз с разными параметрами Всё работает в PyCharm
import module
for i in ('a','b','c'): module.funtion(i)
Скрипт выдаёт ошибку с номером строки, где module.function(i). Как узнать, с каким параметром ошибка ? Можно в функцию или цикл включить печать вроде ("выполняюсь с параметром=" + i), но, может быть, можно как-то более грамотно сделать ?
Аноны, я уже приносил поделие в тред(вернее, анон сам нашёл его). Но вот работа закончена на 98%(на мой взгляд) и хотелось бы что-то похожее на код ревью. https://github.com/AndreiDrang/python-rucaptcha
Есть картинка, не ебу почему не могу приложить. На картинке белый фон и фигуры из черных пикселей: квадрат, треугольник, круг. На каждой картинке по одной фигуре.
Нужно определить что за фигура. Я чет нихуя не смог нагуглить, как это дерьмо решается. Сначала перегнал с помощью PIL в двумерный массив 1 и 0, где 1 это черный пиксель, а 0 белый. Но получилась хуета, типо идет много 0, затем пачкой небольшой 1, а затем снова много 0. Какие алгоритмы решениет такой фигни?
Анон, помоги разобраться с множественным наследованием https://ideone.com/FQFkkM Вот я описал класс Unit, от него наследуется два класса Archer и Magician, у первого может быть любая атака, у второго атака 5, то есть у обоих есть поле .damage и оно различается, второй ещё колдовать может.
Теперь я хочу запилить героя, который может и атаковать и колдовать.
Если тупо наследовать все 3 класса, вот так: Hero(Unit, Archer, Magician) то ошибка: TypeError: Cannot create a consistent method resolution order (MRO) for bases Archer, Magician, Unit Если же только два: Hero(Archer, Magician) то другая ошибка: TypeError: __init__() takes 4 positional arguments but 5 were given
То есть у меня тут типа ромбовидное наследование. Правильно ли я понимаю, что не надо наследовать родителя предыдущих двух классов, надо наследовать только их. И если да, то как надо настраивать согласование между двумя наследуемыми классами, при множественном наследовании.
>>1060911 Модуль большого приложения на джанге (а точнее вьюху). Он принимает post-реквест c листами, делает запрос в бд и возвращает ответ в json'е, нужно, что бы coverage возвращал 100%
>>1060918 Я это читал, есть ли какой нибудь кукбук\лекции\видосы, что бы дзен постичь, пока только смотрел на тесты других модулей, которые писали разрабы-мидлы, но я не уверен, что делаю правильно Или лучше у команды спросить просто?
>>1060927 Ожидают что ты не будешь тупить и обучаться, а если будешь сидеть засунув язык в жопу ни чем не интересуясь и нихуя не делая, то есть большой шанс вновь отправиться на поиски работы.
Короче времени свободного дохуя, решил методом проб и ошибок пилить свою борду лол Сразу вопрос про модели. Сначала хотел пилить одну модель пост и всё, но как тогда из треда возвращать пару последних постов? Если пилить отдельно модель треда и модель поста, то это ManyToManyField? Второе выглядит как-то тупо, потому что всё равно получится, что все колонки берутся из поста и вроде как нахуй не нужен этот тред, но? Что скажете, уважаемые?
подскажите пожалуйста, почему не получается На винде такое прокатывало, это какая-то особенность поиска путей в линуксе? или я долбаеб? дада это и так понятно
>>1061010 так же блять советуют уебки с юуба папка src была в ней прочая поебота, а дальше сам проект, расскажи плз как лучше или статейку подкинь. да я так пробовал мне ошибку выдало ValueError: attempted relative import beyond top-level package
>>1061016 src - папка со всем проектом personalwebsite - папка с настройками и подключением дополнительных urls.py blog_posts - папка с логикой, моделями и своим urls.py, который указывает на вьюхи приложения Не очень хорошее видео, прочитай django by example какой нибудь лучше
>>1061026 хм, я думал вся суть в том что вложенность пакета на одном уровне, и там и там одинаковая вложенность, только так как ты посоветовал импортируется, а изначально нет. Нихуя не понимаю, где там мой лутц. >>1061030 такс и зачем мне создавать лишний файл если у меня допустим только одна вьюха, и я ее мог бы импортировать просто в urls проекта, по моему так рекомендуется а не обязательно.
>>1061035 >такс и зачем мне создавать лишний файл если у меня допустим только одна вьюха, и я ее мог бы импортировать просто в urls проекта, по моему так рекомендуется а не обязательно. СТРУКТУРА ПРОЕКТА Так всегда нужно делать, на одно приложение один urls.py, даже если там одна вьюха, да и от создания ЛИШНЕГО ФАЙЛА ничего не будет
>>1061041 хорошо извините :( >>1061026 Я понял что поиск начинается на уровне проекта, теоретически руками можно было добавить путь в патч, или я опять хуйню придумал? Буду делать все как правильно... За книгу спс почитаю.
Есть питон файл, прописанный в bashrc. Рядом с ним лежит текстовый файл. Когда я запускаю скрипт из любого пути, он не видит этот файл, так как пытается найти его в текущей директории. Как сделать, чтго бы он искал его не в текущей, а в той, где сам скрипт лежит по факту, без использования абсолютного пути?
Помогите нюфагу. Я что то в этой жизни не понимаю. Ну вот я осилил питон, ну могу запилить какое нибудь веб приложение на Джанго простенькое, могу сверстать сайтик не сложный, ну пару скриптиков несложных написать. А что дальше? Вроде ответ очевиден - иди устраивайся на работу, но в моей голове почему то образовалась такая установка, что я Говно и ничего у меня не получится, что я ошибся со стеком, что я завалю все собеседования и т.д.. это очень тревожит. Может кто сталкивался, отпишите как преодолели себя, это очень важно.
>>1061142 я такой же как 1в1 делаю свой проект что бы голое резюме не посылать, а там еще могут давать тестовые задание что и пополнит резюме, нехуй сцать друг, нужно пытаться, обосремся так с по максимому.
>>1061142 Хуль его преодолевать лол Думай об этом как о интересном приключении, а не определяющем твою жизнь событии. Все собеседования твои, я тебе гарантирую.
>>1061218 Ага, в течении 2 дней. Ищут кодера на йобо-проект, который "нужно как-то поддерживать, но нет никакой инфы по нему, это нам досталось от старой команды, там 30% костылей,30% неочевидного говна ну и все остальное норм. Развернуть у нас его может лишь один человек, но ему не хватает времени на что-то еще, поэтому мы в поисках. А, ну и там python 2 :)"
превед двадч как питон пожевает?))) карочи, гоу чтоли SSH для виндуса нопишым? М? такое нормальное прям шоб было, через подпроцессы все стдин стдерр и стдоут, скрин экрана сделоем и scp я и сам могу но чета скучно, вдруг кому на досуге захочется поговнокодить милости прошу на мой гейхаб аккаунт, там инструкция будет для вас github.com/0xBFFFF0A4/2ch
Товарисчи, помогите с задачкой. Нужно скрипт написать, что б запрашивал путь к джсон файлу и выдавал его отприттипринтченым. Чет голову сломал уже..пока только учусь.
>>1046298 (OP) Анон, это моя первая самостоятельная работа. В теории это должен быть краулер, который собирает все ссылки с сайта, делит их на внутренние и внешние, и, в зависимости от конфигурации, дёргает заголовки либо только с внутренних ссылок, либо со всех. Такое ощущение, что я дохуя где проебался кроме выбора деятельности, можешь глянуть и указать основные косяки? Не лаба, для себя пишу. https://pastebin.com/J9C29Pqx
>>1062048 Пикрелейтед, или это у тебя так задумано? Не понял сути твоего гениального замысла.
>max = len(self.links) >for n in range(0, max): >____if self.links[n] not in self.doneLinks: for link in self.links: ____if link not in self.doneLinks: ________....
>except req.exceptions.InvalidSchema: >del(self) >except req.exceptions.MissingSchema: >del(self) Можно в один объединить перечислив эксепшены через запятую. Да и зачем удаляешь, за память переживаешь что ли, лол.
>>1062082 Я что-то туплю, не могу понять суть проблемы. То, что она ссылку выводит? Это я для облегчения тестирования оставил. Про итерацию по списку спасибо, затроил чего-то. Исключения тоже первый раз перехватывал, поэтому так некузяво. А удаляю - за память переживаю, конечно, но изначальная идея была в том, что по мере того, как кончаются внутренние ссылки и остаются внешние/нерабочие, ссылки на объект удаляются и программа останавливается. Только, сдаётся мне, не работает эта идея.
>>1062110 >А что, объекты не принято уничтожать в python? Обычно нет. ибо для этого gc существует, а если уж и решил этим заняться сам, то лучше для начала изучить вопрос, а надо ли оно тебе вообще. В случае с >>1062048 это бессмысленно.
>>1062334 Может логи какие есть? Или может брейкпоинты расставишь и начнешь дебажить? П.с. Или может возьмешь яйца в кулак, установишь nginx+flask+etc. и все?
ПИШЕШЬ ТЕСТЫ ДЛЯ МОДУЛЯ @ ПРОВЕРЯЕШЬ НА ЛОКАЛЬНОЙ МАШИНЕ ЧЕРЕЗ COVERAGE @ УРОВЕНЬ ПОКРЫТИЯ 98% ЗАЕБИСЬ @ ЗАЛИВАЕШЬ ВСЕ ЭТО НА СЕРВЕР ТЕСТИРОВАНИЯ @ УРОВЕНЬ ПОКРЫТИЯ 12%
МОЯ ЖОПА ГОРИТ НАХУЙ ЧТО ЗА ХУЙНЯ, ТАМ ТОТ ЖЕ COVERAGE ИСПОЛЬЗУЕТСЯ, НЕНАВИЖУ ВСЕ НАХУЙ, ОШМЕТКИ МОЕЙ СРАКИ МОЖНО СОБИРАТЬ ПО ВСЕМУ ОФИСУ
Пацаны, такая тема, я тупой, я не знаю алгортимы и не могу их учить, голова пухнет. Я могу сделать какую-нибудь несложную автоматизацию, скрипт и сайтик, но что-то сложное не могу. Получаю свои 40к и не знаю как вырасти в нормального программиста, если не осиливаешь все эти алгоритмы и сложные проекты?
Пацаны, у вас такое бывало, что вам на работе дают задачу, а вы вообще не знаете как ее делать? И гугл не помогает, а коллег нету? Что делать? Тупо сказать начальнику, что это мне не по зубам?
>>1062475 Я тупой джун, меня заставили писать приложуху для андроида и айфона, чтобы короче отображала видосики, тексты разные и музыку, чтобы был бэкенд на питоне, куда бы весь контент заливался. Ну я вообще фиг знает как к этому всему подойти.
>>1062475 Сейчас то и не упомню точно, но надо было что-то связанное с перехватом всего входящего трафика мутить. Но в результате то выход нашел, но тем не менее, даже аноны не помогли. Мимототхуй
>>1062603 >>1062602 Я похоже забыл написать, что работают только гифки\пикчи, для видео надо гораздо больше работы. В планах улучшение интерфейса и кнопочек + вероятно категории. >>1062605 Все банально, что-то сохранил с порнотамблеров, а что-то просто отфорвардил с порнопабликов, бот все это обработал и сохранил в базе данных.
Так забавно наблюдать за эфолюцией требований в одну компанию. В самом начале они искали человека с минимальным опытом в питоне. Затем искали человека на з/п повыше но и с опытом. Теперь требования изменились ещё раз, з/п не указывают, но требования ещё немного подросли + добавилось "магическое" ООП и знание БД. Все эти метамарфозы за 1 месяц.
Говорю сразу, твистеды, и прочие библы не встроенные в пайтон, я юзать не буду
Вообщем есть идея, сделать p2p чат почитав про сокеты, решил запилить для начала сервак, который видет любой, кто вобьет мой айпи и определенный хост... Но выдает ошибку если вбиваю свой айпи. А если поставить 192,168,0,1/127,0,0,1/localhost нихуя не видно через интернет.
Сам код import socket s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) host = 'localhost' port = 8007 s.bind((host, port)) s.listen(1) conn, addr = s.accept() data = conn.recv(1000000) print('client is at', addr , data) conn.send(data) conn.close()
p.s. Что мне нужно сделать, что бы я мог написать 212,212,212,212:228 и соединиться с сервером через инет?
>>1062929 >Что мне нужно сделать, что бы я мог написать 212,212,212,212:228 и соединиться с сервером через инет? Прочитать про устройство сетей tcp/ip.
>>1062937 Это первая ошибка, вторая — среднеквадратичное отклонение тупо неправильно посчитано в цикле, посмотри формулу ещё раз. Тебе понадобится два раза пройти по последовательности
>>1062953 >у тебя деление за циклом Про дистрибутивность слыхал? Поделить и сложить, сложить и поделить... разница только в потере точности в специфичных ситуациях.
>>1062957 > Про дистрибутивность слыхал? Хм, кстати, ты прав. В любом случае, формула — хуйня собачья и за один проход с О(1) памяти сделать нельзя. Да и не нужно.
>>1062890 Решил наконец, надо было сделать корректировку дисперсии. Дауны вы все, пиздец. Особенно этот: >>1062959 > за один проход с О(1) памяти сделать нельзя
>>1063112 Думаю что так, потому как у меня тоже в начале не хотело отправлять нихуя на серв, хотя всё ок было. Потом как открыл порты - как по маслу. p.s. Нужна компания для прожекта?
>>1063126 Та думаю нет... Спасибо огромное! Обчитался все сайты, но про порты так никто и не написал. Проект для себя пишу. Вот еще вопросик - Какой протокол лучше юзать, чтобы сообщения не перехватывались.
>>1063127 > Какой протокол лучше юзать, чтобы сообщения не перехватывались Я конечно не гуру в сетевых делах, но думаю придётся самому реализовывать что-то, раз пишешь на коленке свой серв. Гугли и бери за основу идеи: "Криптографический протокол" > Та думаю нет... Ну и ладно, от нехуй делать буду своё чатик пейсать.
Сап, котаны. Нужен совет. Стоит необходимость скопировать с одного ексель файла кусок таблица, например c A3 по B9, и вставить это все в другой эксель файл. Как это можно сделать при помощи xlrd и xlwt? Гуглил но ничего путного не нашел. Помогите новичку.
У меня есть десктопное приложение, которое умеет выполнять таски по cron-расписанию. Делает оно это с помощью qt-шного QTimer назначая для ближайших евентов интервалы. Проблема в том, что если система уходит в sleep, то отсчет у таймера прекращается и в итоге он исполняется позже ровно настолько, насколько система была в sleep. К тому же, мне бы хотелось сделать кнопку, такую что пользователь мог бы ее нажать и все таски, которые система проспала, могли бы исполниться. Я все написал, все просто, единственное что мне теперь нужно: обновлять таймеры, когда система выходит из sleep, но погуглив я не смог найти кросплатформенного способа поставить хендлер на выход из sleep. Кто-нибудь знает, как это сделать?
А что он может дать, чего не может дать QTimer? У него нет event loop'а и это отвратительно. К тому же, я не вижу там способа получить просроченные таски и исполнить их тогда, когда мне нужно, а не на следующий выхов run_pending.
Ладно, за неимением ничего лучшего буду раз в секунду чекать разрывы. Решение хоть и неприятное, нагрузки на проц, вроде, не дает и слава богу. Всем спасибо. >>1063256 Что попробуешь? Мне нужно знать, что вот эти вот таски были отложены по причине ухода в слип, а не исполнять их тут же по выходу из слипа. Могу дать тебе код своего решения, если тебе интересно.
>>1063258 Вот если запилишь кроссплатформенную поддержку причин того, что задача не выполнилась в срок -- будет круто, а иначе непонятно, зачем в 10-ый раз одно и то же писать.
>>1063262 >Вот если запилишь кроссплатформенную поддержку причин того, что задача не выполнилась в срок -- будет круто В этом проблем не вижу, в PriorityQueue лежат эвенты упорядоченные по времени, sched достает верхний, смотрит его время, если меньше текущего то выполняет.
>>1063268 А если больше текушего на 37 секунд, это предыдущая таска тормознула или пользователь засаспендил ноут и включил? Я про это, ну да ладно, делай что нравится.
>>1063269 Выполнится так как будет первая в очереди, не вижу проблем, алсо, можно и реализовать политику для проебанных эвентов, хочешь выполняй, хочешь дропай. В sched это уже есть, только поправить чутка.
Джанго добавлет в запрос статики админки /admin/ (первый пик), как это убрать, не залезая в шаблоны? Настройки в втором пике. В instaled_apps, имя проекта в самом низу, ниже админки. Может так быть, что это nginx неправильно натроен или эти запросы это уровень Джанги?
>>1063419 Есть, в скорости выполнения, в порядке от медленного к быстрому: 2, 3, 1. Еще есть форматирование через % оно идет между 3 и 1 способом. И конкатенацию строк лучше не использовать совсем.
Идет проверка на тип параметра, где может быть либо другая переменная либо str.
Если там str, то выводится как: "I did (str)" Если там переменная, то выводится как "I did <__main__.ClassName object at ....>. Можно как-то конвертировать это в str? Пробовал делать str(var) - как раз это и выводит. Есть какие-то еще решения?
>>1063459 Да, через f-string самый быстрый вариант, недавно статейку видел, чувак все варианты тестил с разбором через dis, f-string оказался самым быстрым.
>>1063461 Это понятно, только вот print(str(variable)) выдает <__main__.ClassName object at и hex значение. Как сделать, чтобы имя var (variableName) выводилось как variableName через принт, а не как вот это говно?
>>1063505 Если да, то либо модифицуруй программу, привязав к каждому возможному имени строку через словарь, либо погляди в сторону globals()/locals(), в зависимости от области видимости переменной. Имхо, первый вариант лучше.
>>1063512 Ебашь locals() с поиском по значению переменной, всё, что могу посоветовать. Но я вообще-то говнокодер-хеллоуворлдщик, может щас кто покомпетентнее появится. .
Сап аноны. Помогите с задачей. Задача: Выведите все элементы списка с четными индексами (то есть A[0], A[2], A[4], ...). Программа должна быть эффективной и не выполнять лишних действий! Мой код: #a = input().split() #b = [] #for i in range(len(a)): # a = int(a) # if a % 2 == 0: # b.append(i) #print(b)
F.A.Q. https://github.com/TheKnightsWhoSayNi/info/wiki/Hat
Свой код кидайте через https://ideone.com/
Книги: https://yadi.sk/d/tArKKuQu3Kejuq
Прошлый тред: https://2ch.pm/pr/res/1040899.html