Программисты, нид хелп, сам я не кодер и не знаю в чем дело. Пытаюсь запустить под виндой одну софтину, написанную на пайтоне, она требует модуль rtree. Его я установил через pip install Rtree‑0.8.3‑cp27‑cp27m‑win32.whl, но в итоге все равно получаю ошибку File "C:\Python27\lib\site-packages\rtree\core.py", line 116, in <module> raise OSError("could not find or load spatialindex_c.dll") OSError: could not find or load spatialindex_c.dll Весь интернет мне говорит, что под винду этот spatialindex_c.dll ставится через установку rtree, но я же ее уже установил. В чем дело?
Пацаны, помогите решить задачу. В общем, есть последовательность пар чисел. Некоторые из этих пар имеют общие элементы. Нужно вывести цепочки связанных пар по убыванию длины цепочки. Например, дана последовательность: [(1,2), (2,4), (5,4), (7,4), (3,8), (8,10)]
Тогда вывод будет таким: (1,2), (2,4), (5,4), (7,4) (3,8), (8,10)
Но цепочки могут идти и не последовательно. Анончик, молю, спаси, нужно для реализации скрипта.
Двач, помоги распарсить сайт. Нужно получить элемент h2 с номером транспорта и список дивов с классом item для каждого транспорта. Как можно это распарсить? Уже не один час туплю и все никак не придумаю. Использую bs и css селекторы. Не умею в xpath, но может он позволяет выбирать все блоки с таким то классом после n блока но до блока n+1 чтобы можно было выбрать блоки между элементами blockNumAvto?
>>1102485 А что делать при наличии нескольких вариантах цепочки? Вот, например, [(2,3), (5,3), (7,3), (4,7), (5,4), (3,9)] Тут же и 2,3->3,5->5,4->4,7->7,3 может быть, и 2,3->7,3->3,5->5,4->4,7, и 2,3->5,3->7,3->3,9. Перестановка последних двух, опять же, позволит продолжить. Так что, как уже упомянулось, задача нетривиальная, тебе нужно ввести ограничения какие-то, если хочешь лёгкого решения.
>>1102485 пройди по последовательности, сохраняй пару (начало цепочки, длина цепочки) потом сортируешь по длине и там уже выводишь можно еще что-нибудь оптимизировать, это первое в голову пришло
Ничего не понимаю. Хочу установить pip, : python -m ensurepip > python.exe: No module named ensurepip : python -mpip install -U pip > python.exe: No module named pip И так далее. Вообще модулей не находит. Качал отсюда: https://www.python.org/downloads/windows/ > Windows x86-64 embeddable zip file
>>1102808 в общем прогаю в Pycharm, пакеты все необходимые вроде как установил, интерпретатор подключил, когда импортирую модули в другие модули, выдает ошибку, зацикливания импортов вроде нет
>>1102829 как я понял оно вообще тут не юзается, но в примере с которого я это все стащил, вроде как должно, да и модули не импортирующиеся это очень странно
Django каждый раз для нового проекта заново устанавливать? т.е к примеру меня есть дирректория для проекта форума и есть дирректория для борды, каждый раз в эту дирректорию заново скачивать джанго?
Нужна помощь в реализации следующего процесса: через фласк запускается задание, после чего редиректит клиента на страничку (ссылка уникальна) с результатом. формирование данных длится долго. как реализовать постановку в очередь выполнения заданий и проверку их выполнения? условия: нельзя запустить несколько "одинаковых" заданий в раз. пока выполняется хоть одно задание, новые не выполняются, а ставятся в очередь. результаты складываются в редис. есть предположение, что можно реализовать очередь отдельным скриптом и хранить данные об очереди тоже в редис. что я не учёл? может стоит как-то иначе делать?
Допустим гипотетическому Валентину захотелось бесплатно пользоваться полной версией PyCharm которая для Django, но которая платная. Как бы он это делал? Ключики китайцев регулярно баннят Что бы Вы порекомендовали Валентину в его гипотетическом пожелании окромя хуйцов и платы?
>>1103330 Если валентин долбоеб, а он долбоеб, раз не умеет в гугл, то пожелаю только хуйцов. А вообще есть сервера для активации и они отлично работают.
>>1103330 Если валентин студент, то он отправляет жидбрейнсам первую страницу зачетки и получает бесплатное пользование продуктами по программе помощи студентам
>>1103387 Может нужно вернуть значение из второй функции? У тебя функции обработчики потока данных, нахуя она тебе если ничего не делает? Не надо себя ебать абстракциями если пока не вкуриваешь ООП. Поймешь что такое агрегирование - сможешь уже ржать над авторами либ. Успехов.
>>1103392 Ну смотри. Одна функция у меня делает вычисление и возвращает результат A=x+y где x+y при каждом вызове разные
Другая функция по нажатию клавиши вызывает первую функцию и возвращает что-то вроде "у васи было A яблок" так вот, как поместить в строку про васю значение А из той функции? Я чото вообще не пойму, хотя это должно быть что-то очень простейшее (я до этого программировал на блюпринтах в Unrel Engine 4 и там это было легко)
>>1103390 Спасибо, я примерно так уже и сделал. lxml не подходит т.к. на некоторых да почти на все блять сайтах ошибки в разметке, но bs их по крайней мере парсит. Хотя сейчас другой сайт так распидорасило, что я охуеваю. Благо относительная разметка не испортилась и можно так же в цикле взять все нужное.
Регулярки точно не вариант, выдираю расписание автобусов, троллейбусов и т.д., там будут получаться километровые регэкспы.
>>1103417 Есть массив, каждый элемент которого может быть массивом, каждый элемент которого... Ну и так далее. Нужна функция, которая извлекает из всех вложенных массивов данные и записывает в результирующий обычный массив. Но что-то мой вариант извлекает только из одного, лол. Всегда мучаюсь с рекурсией, но сейчас чую, что не осиливаю. Нид хелп, анчоусы! https://repl.it/repls/SlowMealyVicuna
>>1103426 И это, ты неправильно рекурсию понимаешь. Она не должна передавать все предшествующее в следующую функицю, собрав окончательный результат в самой вложенной функции. Наоборот, каждая внутренняя выдаёт назад свой результат, который содержит всё то, что было глубже. Это по поводу передачи res'а в рекурсивный вызов.
А второе: у тебя при попадании первого же списка вызывался return, на что ты надеялся?
>>1103436 Вот этот момент для меня является камнем преткновения. Как в таком случае объявить массив, чтобы он не перезаписывался пустым при каждом вызове функции? Объявить-то его все равно нужно.
А как загуглить как делать мастера из пары шагов для джанго админки? Ну тип шаг 1 импорт цсв - выбери файл шаг 2 зацени че оно из цсв выгребло, поставь галочки че добавлять шаг 3 столько-то записей добавлено, теперь статистика пересчитанная такая-то
>>1103448 >Как в таком случае объявить массив, чтобы он не перезаписывался пустым при каждом вызове функции? А зачем он тебе не пустой? Вот вызвал ты первый раз свою функцию, создался список, который потом на выход пользователя пойдёт. В твоём что должно происходить? Либо добавляем элемент, если цифра, либо "обрабатываем список", чтобы потом его соединить с выходным. Функция обработки заключается в получении одномерного списка, чтобы все элементы были цифрами. Звучит похоже?
>>1103449 Идут писать клеточные автоматы на жс, что же еще? Я не знаю, мне кажется что без внутреннего аутиста (маленькой йоты) и любви к логике мне кажется и 3 года не проработаешь прогером (и около того тоже)
Ну я молчу уже про понимание архитектуры - UML, паттерны, вот это уже все, а это ближе к метатеориям уже.
Шото сам поражаюсь, по сто тредов про умершие плюсы/питон, но те же люди не могут во что-то дальше циклов.
>>1103447 Опа, спасибо! Я понял суть, кажется. Ретурн же заканчивается работу функции, а мне заканчивать ее нельзя после первого раскрытия массива, нужно остальные еще обработать и добавить к промежуточному результату. Чуть лучше стал понимать рекурсию. Ну а второй параметр здесь все-таки обязателен или я чего-то не вижу, так?
>>1103453 Звучит как и должно быть по плану. Да, теперь мне стало чуть ясней, спасибо. Сейчас выпишу значения переменных на каждом шаге и проверю себя.
Ну шоты госпади, у тебя стэк - твоя лента данных грубо говоря, если функция возвращает что-то - проверяй свойства структуры данных которая возвращается (для булов и так все очевидно)
Если работаешь с рекурсией - аккуратнее, у тебя каждый раз возвращаемый результат юзается с j-1 шага на j шаге (трассировка/отладка смотря как наблюдаешь) именно поэтому пишутся формулы вида:
def junk(a): if len(a) != 0: - условие работы функции/логика функции return junk(a)*a if len(a) == 0: - условие выхода return True
Примерно так рекурсия вызывается МАТИМАТИЧИСКИ просто ассоциируешь мат операторы со своими ВОЗВРАЩАЕМЫМИ значениями а не сигнатурами функций
>>1103456 Нет, в данном случае не обязателен (мне лень было много кода менять).
>Звучит как и должно быть по плану. Это я больше намекал на то, что "функция обработки" делает то же самое, что и должна делать "основная". Т.е., звучит похоже с описанием цикла из предыдущего предложения. Именно это и позволяет рекурсивно решить задачу.
>>1103463 Ну у тебя простые примеры, и понятно что в них будет. Проверка свойств структуры данных есть, недопонимание было в другом месте, но вроде разобрался. Спасибо за советы в любом случае.
Аноны, это нормально тратить ~110 сек на парсинг и кучу выборок/сравнений из таких вот двух файлов? Просмотр подробной инфы, говорит о том, что 46% всего времени тратится на _setitem_.
>>1103741 Разве со словарями будет быстрей чем через пандас? >>1103740 Ну я вроде всё правильно делаю. Разбил большой датасет на два поменьше и с ними и работа, уменьшаю их засчёт выборок(причём выборка типа some_data == min(some_data), то есть сильно сокращаю датасет). Ну и вот такого плана: some_data['x'] = some_data.vlan_id.isin(other_data.vlan_id).astype(int) Но значений довольно много в принципе.
>>1103759 Ну да, ты прав, вот притянул. Пример КСВ файлов: https://pastebin.com/kMzp62PH Сам говнокод: https://pastebin.com/TuXyaDn0 1 пик - условие. 2 пик - спецификация файлов. У меня, пока, никаких мыслей по улучшению кода нет, возможно я проебался с алгоритмом. >>1103760 Таки да, это на крайний случай приберёг, потому как совершенное не факт что он даст прирост скорости, у меня были случаи работы с файлом, когда мультипроцессинг наоборот всё замедлял.
>>1103846 И че теперь? А у меня информатику вел в школе в бородатом 2003м году мужик, который машинным или как его там? байт-кодом? сразу в блокноте мог программы писать мог.
>>1103842 > dtype влияет На выполнение участка кода с dtype тратится всего около 0,015 сек. Воооот, вся загвоздка всё ещё под этой штукой из кода: > for request_id, request_data in requests_csv.iterrows(): >>1103813
>>1103813 На первом скрине я видел у тебя 15к и 25к. В коде ты делаешь .append, что очень неэффективно, потому как с каждым элементом нужно всё больше и больше памяти ворочать для добавления (выделить больший участок и скопировать туда старое). Найди количество элементов, создай список нужной длины (если в пандас нельзя, то через list comprehension c None'ами, например, или через numpy), заполняй его элементами, а в самом конце уже сконвертируй в DataFrame через from_dict или from_items.
Ещё можешь скинуть пример большого файла, который тормозит, чтобы желающие попробовали.
> Найди количество элементов, создай список нужной длины (если в пандас нельзя, то через list comprehension c None'ами, например, или через numpy), заполняй его элементами, а в самом конце уже сконвертируй в DataFrame через from_dict или from_items. Вот за это огромное спасибо, антош, попробую.
>>1104010 Ну так с ними вполне удобно, я их сразу считал, выделил датафрэйми с главным портом и датафрэйми на которых есть условия для резервирования(две одинаковых вланки на главном порте и дополнительном). https://pastebin.com/dPQkA0jW Мой последний актуальный вариант. Забавно, на райзене х6 и 16 гигах оперативы - 27 сек, а на i5-4460 и 8 гигах оперативы - 35 сек.
>>1104018 >>1103985 Зачем завтра, держи сегодня. https://pastebin.com/5PUCpte2 1.8 секунды, из которых на сами вычисления <450мс тратится, остальное чтение/запись. Железо? Core2Duo P8400, 4GB RAM :3 Если заинлайнить две функции в луп, можно, наверное, ещё сэкономить (фукнции в питоне ну оче медленные), но не хотелось совсем уж уродливо делать ради нескольких десятков мс.
Твой код, для сравнения, за 95 секунд у меня выполнялся.
А ты ведь всё равно append делаешь в своём коде. То, что я сказал, и к обычному списку тоже относится. Тебе нужно было бы сделать >out_list = [('request_id', np.zeros(num_of_out_rows)), ('...', ...), ...] И в лупе подсчитывать текущий индекс и длеать out_list[0-1-2-3][col][idx] = value
Однако, я попробовал, и это уже не является чем-то критическим, похоже, так как прироста к скорости на моём компьютере эта поправка не дала (в отличие от перехода с dataframe'ов на списки, где прирост действительно был).
Справедливости ради, я боролся исключительно за скорость, а для этого пандас вообще выкинул, чисто на нампи всё. А у тебя задача, думаю, именно пандас выучить. Однако, мой подход, наверное, стоит-таки принять к сведению: я отсортировал по vlan_id и затем по device_id, а поиск девайсов на каждый новый запрос начинаю со строки csv, идущей после предыдущего зарезервированного, потому что какой толк мильон раз по массиву из 27к+ элементов каждый раз с начала пробегать? А твои поиски минимума для слайса DataFrame'ов, думаю, именно это внутри и делают, возможно даже гораздо больше больше.
>>1104175 Алсо, доступ/установка значений в нампиевские массивы тоже не самое быстрое, так что замена out'а на список питоновских списков, а не np.array'ев, тоже позволяет ещё несколько десятков мс выиграть, если пичот (итого до 372мс на обработку реквестов после всех подготовок при самом удачном состоянии компьютера получилось).
>>1104255 >видимо лучше к нампаю перейду. Ну так-то внтруи пандас numpy и используется, так что далеко не весь прирост обусловлен исключением пандас, скорее даже меньшая его часть. Помимо скорости, мне ещё лень было с пандас разбираться, если честно, как там эффективно именно эту задачу сделать, проще было влоб наслесарничать в обычных массивах.
>>1104285 Да там, в принципе, всё примерно очевидно должно быть. Вот постарался всё подробненько описать, возможно чрезмерно, но как-то нравится мне иногда расписывать причины тех или иных решений, особенно по йобамикрооптимизациям, лол. https://pastebin.com/rENGjGmp Если чего не понятно — спрашивай.
>>1104389 Оба учи, делов-то, фласк за пару вечеров осилишь, джанго будешь мурыжить месяц но если привыкнешь к его жестокой диктатуре и документации исчерпывающе описывающей "как" но не "нахуя" то будет круто
>>1104402 Да, спасибо, я вчера в принципе разобрался, прогнав пошагово, теперь решил свое подправить. У меня была мысль ввести счетчика два(не додумался ночью как лучше внедрить и забил) и не удалять элементы а ввести какой-то флаг их состояния(ну а ты заменяешь юзаную строку 0). Есть только два вопроса по коду: 1. 'vlan_info[primary] = b'\x00'' как это оно так всю строку на нули меняет? Где за это почитать можно? 2. 'requests[:,1]' и как вот это работает так? Может это можно как-то нормально развернуть, понятнее, скажем так?
Вот еще вопрос: почему добавление элементов к массиву реализовано еще и через функции arr.append(25) и arr.extend([26,27,28]), хотя можно записывать: arr+=[25] и arr+=[26,27,28] ? Есть тут какие-то тонкости?
>>1104462 >1. 'vlan_info[primary] = b'\x00'' как это оно так всю строку на нули меняет? Каждый элемент vlan_info это (указатель на) кусок памяти, отведённый под три int'а (32 3 байта). Соответственно, vlan_info[0][0] это байты 0-31, vlan_info[0][1] Это 32-63 и т.д. А вот vlan_info[0] это байты 0-95. Соответственно, если я напишу vlan_info[0] = b'', то будут перезаписаны все 96 байт. В данном случае, туда записывается 0. Тут байтоёбство немного, так-то можно было сделать vlan_info[0][0][2] = 0 и заменить только vlan_id, остальное не так важно, но это лишние символы, лишние доступы — медленно!* https://repl.it/repls/InsignificantThistleEnglishpointer
>Где за это почитать можно? Не знаю, SICP какой-нибудь, лол.
>'requests[:,1]' и как вот это работает так? Ну что же ты, матлабом не пользовался? Это просто индексация/слайс многомерного массива, эм, "одновременно по нескольким измерениям". Тут то же самое: берём все строки (первое измерение, как в list[:]), но только вторую колонку (второе измерение). В питоновских списках так нельзя, к сожалению.
>Может это можно как-то нормально развернуть, понятнее, скажем так? В данном случае, так как нужнен только целиком столбец, можно транспонировать, сделав столбец строкой, и затем просто взять эту одну строку: requests.transpose()[1] Транспонировать можно было бы через zip, будь это просто питоновский список, не поддерживающий индексы через запятую. Но это спорное "упрощение", так как [:,1] общепринято и понятно. Потыкай матлаб иил R полчасика, привыкнешь, если до сих пор странно выглядит.
>>1104476 Помимо разметки, я тут ещё немного проебался: >vlan_info[0][0] это байты 0-31, vlan_info[0][1] Это 32-63 и т.д. vlan_info[0][[0][0], vlan_info[0][0][1] и т.д. и vlan_info[0][0] это на все 96. А vlan_info[0] это ndarray с указателями на эти куски памяти по 3 инта. Но так как он состоит из одного элемента, разница никакой нет. Сам запутываться начинаю.
> Ну что же ты, матлабом не пользовался? Не поверишь - не пользовался особо, когда-то по учёбе немного и всё.
Добавил это > requests.transpose()[1] И вот подобное доабавил, как по мне - более python-way > vlan_info[0][0][2] = 0 Скорость буквально на 0,01 просела, ковыряю дальше) Спасибо за пояснения.
>>1104510 Ну вот не знаю, адаптировал твой пример под пандас - всё так же медленно(при том что я только половину примера ещё переписал), он выдаёт 27сек. Сейчас переписываю на нампай его, но немного на свой лад и всё отлично, та же самая половина выдаёт 0,3 секунды.
>>1104563 Братиш, ответь на вопрос: какой объем данных ты парсишь и для чего переписываешь пандас? Я вот тяну с интернетов sql-таблицы по полгига, и ничего быстрее и удобнее еще не встречал. Да, неоптимизированно, приходится часто менять apply() и map() на мап-редюс функцию и обертку к ней, чтобы потом сконкатить все это обратно в датафрейм. Однако я работаю на кластере, и мне важнее параллельные вычисления универсального характера, чем прописывать узкоспециализированную функцию для каждой таблицы под сишную numpy.
>>1104584 > какой объем данных ты парсишь CSV файлики объёмом 300кб. > для чего переписываешь пандас Потому как странно медленно. Ладно с моим не самым лучшим алгоритмом, но вот я тут применил пандас на другой алгоритм и результат был лишь на процентов 30% лучше, но не дотягивал до того, что было с пандасом. Возможно и я где-то проебался всё таки (даже скорее всего так и есть), но сейчас вот допишу на нампае всё и посмотрим. Может всё же попробую применить туда пандас. Пандас мне понравился функционалом, но всё же хочется чего-то быстрого, да и аллергией на с/с++ не страдаю.
1. вариант с записью 0 в vlan_id; 2. вариант с записью b'\x00' в vlan_id; 3. твой вариант, не трогал вообще его. Как-то так, поищу литературу по numpy и алгоритмам вообще. Спасибо)
Итак, есть проблема. Есть PyCharm. Я создаю документ, и справа вверху могу нажать кнопку запуска, дебагга и все идет по плану, пикрил1.
После этого я создаю другой документ, перехожу на него, пишу код, но кнопки справа всё еще указывают на первый документ, который мне уже не нужен для запуска, пикрил 2. И чтобы запустить его конкретно, мне надо через Alt+shift+F10 заходить и выбирать определенный файл.
Как можно настроить PyCharm, чтобы при переходе с одного файла на другой, кнопки сразу становились активными, дабы я производил меньше манипуляций?
>>1104510 >Не поверишь - не пользовался особо Да это я пошутил неудачно.
>как по мне - более python-way Как говорится, nyet. А если нужно выреза кусок строк среди некоторых колонок? Это нужно слайсить, транспонировать и потом ещё раз слайсить. Лишние действия, шире строка, менее очевидна, собственно, задача. Серьёзно, такой слайсинг это самый нормальный путь, штандарт, научись/привыкни и применяй.
>Скорость буквально на 0,01 просела А в процентах? Пара процентов тут, пара там, и вот оно и набежит. Ну, конечно, это уже я так, если делать нечего. Но забывать, например, о лишних операциях, повторяемых по миллиону раз-таки не стоит, пускай питон и не для перформанса как бы.
>>1104563 >адаптировал твой пример под пандас - всё так же медленно Так а что ты адаптировал-то, покажи код? Как бы, в моём случае я прохожу один раз (ну ладно, два, на самом деле) по массиву и что-то там сравниваю. Один проход хоть по стотысячному массиву это сущее ничто. Добавит там проверки, туда-сюда, ещё там десяток микросекунд на элемент добавится, но это всё равно мелочи. В твоём изначальном коде ты кучу всякой фигни лишней делалась при обработке каждого запроса, и вот именно она занимает всё время, а не сам пандас или нампи или что угодно (ниже тайминги ещё будут). Т.е. проблема в алгоритме, а не инструменте. Вопрос в том, позволяет ли пандас в некостыльном виде реализовать то, что надо.
>>1104584 >важнее параллельные вычисления универсального характера И это правильно, да, но разница в 2+ порядка это-таки не круто: минуту или полтора часа сидеть ждать, разница существенна, мне кажется. От задачи зависит, конечно, может там 5 часов адаптировать, чтобы сэкономить час компьютерного времени.
>под сишную numpy. В основе всего питоновского научного тулкита лежит нампи, он везде есть и везде используется. Алсо, нампи далеко не всегда выигрывает по скорости даже у чистого питона.
Так, по поводу пандас/нампи/скорости. Я переписал своё решение на чистом питоне. https://pastebin.com/Fw1rkzcf результат: >total 0.34sec: reading: 184ms, processing: 115ms, writing: 44ms (Против total 1.88sec: reading: 1163ms, processing: 431ms, writing: 289ms на нампи) В почти 6 раз лучше, сама обработка вычисления в 3.5-4. Вывод? Ну, очевидно, что частное решение будет эффективнее, чем обобщённое. Плюс я уже упоминал, что тот же доступ к элементам массивов нампи довольно медленный.
>>1104742 >Вопрос в том, позволяет ли пандас в некостыльном виде реализовать то, что надо. Точнее, не "то, что надо", а "только то, что надо", с незначительным количеством лишних оверхедов.
Начал изучать Django. 2 недели Читаю документацию, смотрю на youtube. Нихрена не понимаю. Сейчас главная проблема: я не могу подключить шаблон с готовым сайтом. Буду рад ссылкам на нормальные руководства
>>1104742 > Серьёзно, такой слайсинг это самый нормальный путь, штандарт, научись/привыкни и применяй. Видимо придётся.
> Так а что ты адаптировал-то, покажи код? Так сразу переписал на свежий, но может ещё раз напишу, ради интереса и практики.
Насчёт своего алгоритма согласен, более чем, я всё же поторопился с ним, хотя некоторые идеи считаю неплохими. Буду дальше развиваться и может приду к чему хорошему. Вот код перезалил, примеры есть выше, если кому интересно: https://pastebin.com/TwSiS9zb
> Я переписал своё решение на чистом питоне. Спасибо, буду разбираться
>>1104801 Блин, так близко, теперь до <100мс на твоём железе довести хочется, лол.
>>1104800 >Вот код перезалил А где пандас? Я хотел посмотреть на то, что вроде бы адаптировано, но всё равно те же 27 сек.
Алсо, я там перемудрил с сортирвкой, можно ж было просто: >sorted_vlans = vlans[np.lexsort(vlans[:,0], vlans[:,2])] lexsort возвращает индексы элементов в нужном порядке, поэтому и слайсим vlans. Это избавит от необходимости делать info = info[0] в цикле. Правда, нельзя будет уже байтами писать, но оно и не нужно.
>>1104867 Так я ж говорю, с пандасом сразу его переделал под то что есть. Может напишу еще раз.
> Блин, так близко, теперь до <100мс на твоём железе довести хочется, лол. Я б посмотрел на такое) Кстати, скорость выполнения этих решений совершенно не отличается на двух машинах моих, на райзене которая и на i5, что тоже интересно, ибо при прошлом решении разница была в 12 сек.
> Алсо, я там перемудрил с сортирвкой, можно ж было просто: >sorted_vlans = vlans[np.lexsort(vlans[:,0], vlans[:,2])] Окай
> Правда, нельзя будет уже байтами писать, но оно и не нужно. Но так же быстрее)
Расклад поменялся, теперь я циклом открываю все Листы\Sheets in Exel \ xlsx фале. До 5-6 листа парсер срабатывает, записывается в файл, а дальше ошибка в аттаче. Как бы этих листов 1000
Да объясните же кто ни будь. Numba и как она работает... кто ни будь, может доходчиво объяснить принцип? Прочитал что она может заменить интегрирование С в питон, но я не понимаю как она работает и не могу найти годный мануал по ней на русском
>>1104899 Хехе, победа. Меня тут осенило - а зачем я, собственно, в числа-то всё перевожу? Это ведь только для сортировки правильной нужно, так что лучше там пожертвуем десятком мс, зато на чтении и записи 50-80 экономим!
Лучший результат на i5 (прошлая версия 0.14-016, как и у тебя на скрине): total 82ms: reading: 27ms, processing: 51ms, writing: 3ms Но в среднем ~90. Больше уже, по-моему, ну совсем нечего убирать. Заодно и код похорошел и короче стал! https://pastebin.com/FYnMgje0
>Но так же быстрее) Ну, уже не обязательно, ведь вложенность меньше стала, а значит и доступов меньше происходит. Тестировать уже, разумеется, не будут, хватит с меня.
>>1104967 >на русском Учи английский, что ж тут поделать. Если ты даже понять, что это, и хоть по примерам с сайта с документацией потыкать и хоть как-то разобраться не можешь, то брось. Какой смысл, по каждой мелочи сюда прибегать будешь?
>>1102146 (OP) Сап, сессия на носу, а значит время ахуевших вопросов от студентов пришло. В пн экзамен и на него надо принести сайт с бд, который я якобы пилил 3 месяца. Сейчас пытаюсь найти какой-то темплейт на джанге или хоть чему-то, если не получится - попытаюсь за 2 дня напилить блог по гайду, пока получается очень плохо СОбственно вопрос: если у кого-то есть рабочий сайтик на джанго или фласке, будь добр, выручи. Мне всего-то показать его надо, чтобы отьебались и не выгнали с шараги. Понимаю, что просьба очень ахуевшая, но вдруг кто-нибудь откликнется
Питончан, как там правильно работать со строками? Через requests и json получаю объект со строками, потом transliterate.translit в латиницу, потом я начинаю делать split, а у меня Unicode Encode Error. Как это работает? Я пробовал использовать разные кодировки, меняются только строки, на которых падает скрипт. Какое может быть универсальное решение для этого?
Поясните как сделать быстрее/правильнее. Задача Given a list of integers and a single sum value, return the first two values (parse from the left please) in order of appearance that add up to form the sum.
мой код
def sum_pairs(ints, s): for x in ints: if x + any(ints[1:]) == s: return [x, s-x]
>>1105285 Ты, в принципе, в правильном направлении пошёл, пытаясь сравнить текущий со всеми последующими. Просто (не) реализовал это через жопу. В худшем случае, если нет никакой информации о входных данных, нужно будет произвести n^2 сравнений. Быстрее никак. Если диапазон чисел гораздо меньше количества элементов (т.е. есть много повторов), то можно, например, создать побочный список с "неподходящими" элементами, и каждый следующий элемент сперва пытаться найти в этом списке. Ещё после первого прохода можно записать максимальный и минимальный, и в случае, если текущий не попадает в диапазон [sum - max, sum - min], сразу пропустить его, ну а если равен одному из крайних значений, то решение найдено и при необходимости можно ещё за один проход найти индекс ближайшего подходящего.
>>1105322 Хотя пересмотрел всё решение, ступил я чо-т: всё там можно быстро сделать, безо всяких n^2, как раз с помощью записи уже увиденных чисел в подходящий контейнер.
Я, наверно, не вовремя, вся борда студентам помогает зачёты закрывать... но всё-таки, может, есть кто сталкивался: осваиваю С-расширения для питона, надо портировать уже существующую кодовую базу, всё шло хорошо, пока не дошло до функций, использующих OpenMP. Суть в том, что один и тот же библиотечный сишный код вызываемый из сишной же программы с включенным OMP ускоряется в 2-3 раза (на 4 ядрах), а вызываемый из питона (CPython 2.7) - вовсе замедляется в разы. Из top видно, что грузится только одно ядро при вычислении (хотя с хера ли замедление...) Гуглю пол дня, GIL отключаю (вроде бы), делаю как в примерах со всяких стековерфлоу и каких-то бложиках, в итоге ужал до минимального примера: https://pastebin.com/gYxgSyGj ЧЯДНТ? Для отключения GIL достаточно PyEval_InitThreads и Py_BEGIN_ALLOW_THREADS? На него пока грешу, но кроме этих указаний в документации ничего не вычитал, а они не помогли. Надежда на двач родимый осталась.
>>1105422 >Надежда на двач родимый осталась. Пиздец как в воду глядел, только запостил свою хуету, как сразу дошло, что time.clock() даёт время отдельного ядра, а с OMP надо использовать time.time(), и тогда всё совпадает. Спасибо, двач! пиздец
>>1105414 Чому NlogN-то? Ты всего два раза по списку проходишься: при создании set'а и при, собственно, поиске слагаемых, а x in set O(1), так что линейная сложность же.
>>1105434 > Сет каждый раз генерится Ну нашёл к чему придраться. Суть-то понятна. На самом деле задание не оче ясное. Если нужную сумму дают 1-ое и 4-ое, а также 2-ое и 3-е, то что надо вернуть? И тогда уж не квадрат, а N^2*logN.
>>1105470 > поиске слагаемых, а x in set O(1) Чудеса в решете, премию Тьюринга в студию г-ну Гвидо, он накрячил всю вековую историю теории информации и алгоритмов.
Добрвый вечер, анон, я тот аутист с кодеварс вчера, спасибо за все ответы, я их почти понял, но возможности проверить всё равно нет, потому что ещё вчера скипнул. Но, так как я даон, то сегодня ситуация повториятся с другим примером. Как блять научиться писать нормальный код на питоне? Доки стараюсь читать, честно. Собственно мой код https://pastebin.com/BBJ4G0Zp Задание: https://www.codewars.com/kata/55aa075506463dac6600010d/train/python
Divisors of 42 are : 1, 2, 3, 6, 7, 14, 21, 42. These divisors squared are: 1, 4, 9, 36, 49, 196, 441, 1764. The sum of the squared divisors is 2500 which is 50 * 50, a square!
Given two integers m, n (1 <= m <= n) we want to find all integers between m and n whose sum of squared divisors is itself a square. 42 is such a number.
The result will be an array of arrays or of tuples (in C an array of Pair) or a string, each subarray having two elements, first the number whose squared divisors is a square and then the sum of the squared divisors.
>>1105610 >Чудеса в решете, премию Тьюринга в студию г-ну Гвидо, он накрячил всю вековую историю теории информации и алгоритмов. Это типа сарказм? https://repl.it/repls/BruisedAdventurousBittern На бóльших множествах можешь у себя локально проверить.
>Если нужную сумму дают 1-ое и 4-ое, а также 2-ое и 3-е, то что надо вернуть? 2-ое и 3-е, так что твоё решение ещё и не подойдёт (но ты условия целиком не знал), поэтому люди сет набиват по мере прохода и ищут второе слагаемое среди уже прошедших. https://www.codewars.com/kata/sum-of-pairs/python
>N^2*logN. Да откуда ты логарифм-то берёшь, N^2 это уже по обходу списка на каждый элемент, куда больше-то?
>>1105638 Бля, я тоже об этом подумал, только проверку не смог нормальную написать divisors.append(q2) if int(x/q) not in divisors: Спасибо, так работает. >>1105634 Попробую получится ли быстрее, но тот что предложили, в принципе, для решения достаточно. А почему вообще должно быстрее получится?
>>1105122 Нашел отличное для себя решение на гите: простенький бложик на фласке. Уже более-менее разобрался со всем. Только есть одна проблемка тут не реализован метод удаление постов или хотя бы редактирования. Я в принципе представляю как это сделать, но что-то трогать там очень боюсь. Может кто, помочь дописать? https://github.com/(удали)ghostrong/weblog <-собственно что я украл. Там есть publish.py и в models.py чет написано, я так понимаю нужно что-то похожее сделать только наоборот
Есть итт, кто занимался ботами для Telegram? Есть затык в inline-режиме. Везде можно отправлять аудио и прочие файлы прямо с жёсткого диска, но в инлайне можно указать только URL до файла или ID на серверах Telegram. Что делать, если мне надо грузить звуки с жёсткого диска?
Есть задача: N ступенек в лестнице. Человек может пройти как по 1, так по 2, так и по 3 ступени, в общем шаг его К ступеней. Чтобы найти все комбинации К в N это два цикла делать?
>>1105781 Эх, хуевая идея. Я заебусь вот это все загружать. Тогда закачаю все звуки на ВПСку, создам там JSON-файл с их описанием и путями и подниму там сервер. Буду оттуда тянуть.
код небольшой, потому можно извратиться и кинуть сюда: n=int(input()) a=['.'n for i in range(n)] for i in range(n): for j in range(n): a='' a[n-i]='' a[(n+1)/2]='' a[(n+1)/2]='' for i in a: for j in i: print(j, end=' ') print()
задача: pythontutor.ru/lessons/2d_arrays/problems/snowflake/ сначала думал сделать через if, но намного экономнее (по ресурсам) сделать вот так (там в уроке об этом написано, ага). второй цикл это просто вывод двумерного массива. не в этом суть. мне на строке 5 (т.е. a='') выбивает ошибку: 'str' object does not support item assignment. подозреваю, что во всех остальных местах, где я пытаюсь присвоить а[какому-то][какому-то] какое-то значение, будет выдавать такую же ошибку, но сути я её не понимаю. как тогда сделать?
>>1105928 можно чуть понятнее? тут ещё пишут: Строки в Python неизменяемы. Нельзя присвоить что-нибудь отдельному символу строки. Чтобы изменить символ, используйте срезы: text = text[:4] + '$' + text[5:] но мне всё равно непонятно. а если вся строка -- это один символ, и мне нужно просто заменить его с одного на другой?
>>1105901 >вывод двумерного массива У тебя нет двумерного массива. У тебя есть список строк. Алсо, ты в курсе, что у тебя j нигде не используется?
>>1105952 Куда подробнее? Строку изменить нельзя. Ты можешь изменить элемент массива, можешь изменить значение переменной, можешь создать новую строку путём некотороых манипуляций над исходной и присвоить её той же переменной. >а если вся строка -- это один символ, и мне нужно просто заменить его с одного на другой? ну, ээ, text = твой_символ.
Частный случай этой задачи, если К == 2, это числа Фибоначчи, из этого можно сделать такое решение: сначала заполняешь начальными значениями массив из К чисел (b[0] = 1, b[1] = 1, b[2] = b[0]+b[1], b[3] = b[0]+b[1]+b[2], ...), потом (i == K+1) суммируешь предыдущие К чисел, и так, до i == N. но это не точно
Поясните за comrehensions, что не так с этим, как переписать? initial_dict = {key: value+shift if value+shift <= CONST else key: CONST - value for value, key in enumerate(string.ascii_letters) }
Здравствуйте, есть скрипт: from subprocess import Popen, PIPE f = open('log_tree.txt', 'w') with Popen(('c:\\','cd', 'tree'), stdout=PIPE) as proc: f.write(proc.stdout.read()) f.close()
Выдает ошибку: PermissionError: [WinError 5] Отказано в доступе
>>1106084 Не поверите... TELEGRAM СЖИРАЕТ ЗВУКИ ТОЛЬКО ИЗ VK.COM То есть даже звуковое превью из меню выбора есть, а при отправке — ошибка. Без описания. Пикрелейтед.
Как избавиться от .setStyleSheet('border: none;')? Не хочу передовать строку в эту функцию. Это выглядит некрасиво. Можно сделать то же самое вызовом одной функции?
вечера, коты, тут такое дело, нужно запилить бота для телеги и управлялку им, я быстро склепал бота и админку для него, но чет хз как его запускать. То есть у бота есть метод updater.start_polling() который блокирует поток выполнения я пробовал запускать бота в urls.py уровня проекта, тогда не выполняется нифига, даже в админку не зайти, если выполнить на уровне приложения, то не будет доступа к моделям, не будет возможности сохранения и добавления новых сущностей в бд. сейчас быстрый костыль выглядит так что я сделал модель для бота с полем is_active, и методом save такого вида https://jsfiddle.net/oarodfph/ но как вы понимаете, pid постоянно проебывается и все остальные радости могущего откинуться в любой момент рантайма. Нужны короче идеи как бы все это сделать нормально
>>1106340 соцсеть на джанго качаешь книженцию django by example там тупо одна глава соцсеточка для любителей картинок с фолловингом лентой и всей хуйней
Теперь осталось сделать чтобы эта картинка заполнила всё окно и при этом чтобы при изменении пропорций окна эта картинка тоже гнулась продолжая заполнять всё окно.
>>1106411 Зачем здесь QVBoxLayout? Без него почему-то не работает. Ещё у меня кнопки поверх изображения. Можно сделать чтобы они перемещались по экрану по мере изгибания изображения чтобы они всегда были поверх одной и той же области на изображении?
двачик, срочно! решаю мат. задачу, в суть вникать не нужно pastebin.com/EM0gstPL дело вот в чём. если просто, то видишь строки 31-35? сколько бы раз цикл не выполнялся, количество элементов в списке end всегда будет кратно пяти, ведь так? теперь смотри строки 36-39 а точнее, строку 37. мне там постоянно выбивает index out of range, единственный список там -- это end. все индексы имеют вид от до [i+4], i ходит в цикле тоже по пять, и начинается с ноля, т.е. если разбить end на части по пять, то i всегда будет указывать на первый элемент в этой части. [i+4] это максимум, и он, по идее, должен указывать на последний элемент в этой части. так где out of range? может, проблема в строках 38-39, но там ведь цикл (да, j ни для чего не используется, это я просто сделал чтобы 5 раз убрало элемент) тоже делается по пять, т.е. end остаётся кратным пяти.
мне тут пришла в голову идею, что длинна end'a уменьшается, а в цикле на строке 36 каждый раз используется старая длинна, и так и выходит. но ведь по идее длинна должна каждый раз заново просчитываться при каждой итерации цикла. или нет? как тогда сделать?
>>1106416 > Без него почему-то не работает. Получилось. Не надо было создавать дополнительный класс для label, а всё можно было в текущем классе переопределить. Осталось только координаты кнопок из абсолютного значения в относительные перевести. Для этого есть стандартный метод?
>>1106442 я даже пошагово отлаживал через питонтьютор, лол вроде, если i не меняется, всё смещается влево, соответственно не меняем i, 5 раз удаляем, и удаляется 5 последовательных элементов
>>1106446 Ну ты удаляешь 5 элементов из списка во второй итерации цикла, а в следующей итерации ты обращаешься к списку по индексам 5+3 и 5+4, а в этот момент в списке всего 5 элементов.
>>1106450 да, через принты вроде то же получается, спасибо то, о чём я там говорил теперь нужно думать, как сделать так, чтобы len каждый раз заново просчитывался
Аноны, вот тут товарищи имели,что прилаживали телеграм бота и многие другие веб приложения к фласк/джанго, как это в теории делается? Каков общий принцип? Мне вот прям совсем просто теория нужна, до практики сам додумаюсь, я надеюсь.
>>1106581 ну сорян Суть в том, что бот сам не может написать, только если с ним начать диалог. А если ты есть в чате с несколькими людьми и ботом, может ли он тупо в личку тебе все же написать, или не?
>>1106582 На сколько я помню, с ботами вообще ограничения были, связанные с ЛС - бот не может первым писать. Он может лишь начать писать, после того, как юзер добавит его к себе в контакты/стартанет. Это было год назад, может что и изменилось, но вряд ли.
>>1106452 >теперь нужно думать, как сделать так, чтобы len каждый раз заново просчитывался Обычно изменение границ списка/массива во время итерации по нему считается признаком не очень умного человека. В крайнем случае, обходи список с конца в начало.
Антон, как бы по приятнее распарсить кучу стрингов такого типа:
"Avs. B (C)"
Ещё к тому же части B и C опциональны. Я начал ковырять библиотеку Parse, но что-то там с опциональными частями глухо, весь стринг тупо не парситься, раз не попадает под полную схему.
>>1106733 ну это уж на самый крайний случай. как там кстати это будет работать для трёх полей? три регулярочки? если что, то vs. и первая скобочка делимитеры
Братишки. Кто с вебом работает, отпишитесь плиз, какой IDE/текстовым редактором пользуетесь? В первую очередь интересует отладка и всякие свистелки и перделки в духе поддержки git, красивенького отображения всяких markdown и пр. Сидел я на PyCharm-е больше года, но чет заебал он меня своей тяжеловесностью, пока смотрю в сторону VS Code.
>>1106757 > интересует отладка и всякие свистелки и перделки > git > красивенького отображения всяких markdown и пр. > PyCharm-е заебал он меня своей тяжеловесностью И что ж в нём такого тяжелого, ПК не тянет? Тогда уж ставь саблайм а для гита отдельную прогу, гораздо легче будет, ага.
>>1106770 > И что ж в нём такого тяжелого, ПК не тянет? Тянет, но загрузка в несколько секунд и постоянное индексирование файлов доебало
> Тогда уж ставь саблайм а для гита отдельную прогу, гораздо легче будет, ага. Меня отладка в первую очередь интересует. Гиты и прочее говно как-то опционально больше. Сам-то чем дебажишь?
>>1106773 >но загрузка в несколько секунд Ты у нас его закрываешь по 2-3 раза за 10 минут? >постоянное индексирование файлов доебало И свапаешься между проектами в одном окне каждый раз?
>>1106773 > но загрузка в несколько секунд и постоянное индексирование файлов доебало Я недавно открыл для себя на работе такую штуку, как SSD, реально быстрей всё прогружается и индексируется, возможно тебе тоже стоит попробовать прикупить себе минимальный по объёму SSD и накатить туда все свои программы, и, возможно ОС.
> Сам-то чем дебажишь? И дома и на работе PyCharm, и там и там Linux, всё ок вроде, полёт нормальный. Ты видимо не пользовался Microsoft Visual Studio, вот там, как по мне, реальные тормоза.
>>1106744 >ну это уж на самый крайний случай. Почему? Разве пикрл не то что тебе нужно? > как там кстати это будет работать для трёх полей? Каких полей?
Помощь с FlaskАноним12/12/17 Втр 22:30:36#308№1106804
Кто знает, почему MySQL не хочет коммитить объект из SQLAlchemy без explicitly-specified атрибута (колонки) `time`? Собственно, задача, чтобы `time` в поле обслуживался именно движком MySQL, а не ORM'ом (т.е. `(value = 'foo', time = time.time(3))` не годится.)
поля, ну А, B, С это поля. я хз как по-русски перевести.
вопрос ещё такой, а как можно дополнительный делимитер ввести между A и B? к примеру, если некоторые из полей разделяются не vs. а ещё и через 'feat', 'feat.', 'ft.'
>>1106809 Если что, я отмапил класс через sqlacodegen, видно, он `default` потерял. У меня формат не Datetime, я храню unix timestamp вот так: `time DECIMAL(15,3) NOT NULL DEFAULT UNIX_TIMESTAMP(CURRENT_TIMESTAMP(3))` Как это записать в SQLAlchemy для `default=`?
>>1106814 Сделал вот так: https://pastebin.com/nCUdsdF3 Не работает, короче. Плюс, он все равно ведь пикает время во время создания объекта, а не коммита в ДБ? А задача добиться именно последнего.
>>1106811 >поля, ну А, B, С это поля. я хз как по-русски перевести. Какие нах поля? Не можешь описать, так хоть пример скинь. >вопрос ещё такой, а как можно дополнительный делимитер ввести между A и B? (\w) [vs|feat|ft].\.\ (\w) \((\w*)\)
Skybreak feat. Orbiter (Lence remix) Der kleine Prinz (Instrumental) It's like this ft. Jason Nevins
>>1106819 не вкурю, почему не работает часть в квадратных скобках, что на картинке, как я задумал. в том плане, что это должны быть варианты делимитеров.
ну и конечно из этого должно получиться: ("Skybreak", "Orbiter", "Lence remix") ("Der kleine Prinz", "", "Instrumental") ("It's like this", "Jason Nevins", "")
Кто-нибудь делал сервис приложения для винды на питоне? Я уже несколько дней не могу запустить приложуху. Сделал с помощью win32service и py2exe, но все равно какие-то траблы. В дебагинге пишет, что не может заинкдюдить файл с основным кодом. Но это уже скомпилированное приложение, почему он не хочет может запустить?
>>1106851 Просто у меня задача сделать программу, которая собирает данные в пассивное режиме и отправляет на сервер. Показания процессов, сети и так далее. По запросу сервера скриншоты и скрипты запускать на удаленном компьютере.
В будущем ещё добавить надо упоавление в прямом режиме. Тимвьювер короче.
Ещё усложняется тем, что нужно для винды ХП это сделать. На 10-тке я вроде сделал так, чтобы приложение от админа запускалось и писало себя а реестр для автозапуска, но на ХП проблемы появились и не работает часть функций. По этому решил не писать а реестр, а сделать сервисом.
Короче, вопрос в том, я вообще в правильном направлении двигаюсь иди мне нужно что-то поменять в своих размышлениях?
>>1106878 Когда-то и меня вела дорога приключений. А потом я получил ошибку компиляции... Недельку повозился и портировал, забив на головную боль с цигвином и юникодом.
>>1106874 Чтобы был выбор из альтернатив, нужны альтернативы. Насколько я знаю, "Заматчить в группу либо то, что идёт после ft., либо ничего", да ещё при этом чтобы вместое ft. могли быть разные вариации, да ещё и потом остановиться по скобочке или концу строку, но при этом не матчить их в эту группу, это какой-то ужас, я запутался в куче скобочек, non-capturing group'ах и прочеих чёрточках когда пытался писать.
>>1106899 спасибо Антон, я что-то подобное тоже накостылял. сначала пробую разбить стринг на название трека и опциональные элементы по feat / vs / ft, а потом уже дроблю эти опциональные поля, если они есть.
ещё у меня была идея использовать регулярку в которой для делимитера feat/vs/ft использовать свою группу. на выходе был бы кортёж из четырёх вместо трёх элементов, из которого можно было сделать новый кортёж взял только три нужных элемента. но это конечно выглядело бы грустно.
Первый день вката в питон. Поясните, для того, чтобы взять часть строки (допустим 2, 3 и 4 символы) нужно сделать так: string = 'Vecher v hatu' print (string[1:4])
Как это понимать? Какая логика в таком синтаксисе? Как его читать? Я понимаю если бы было так string[2:4], что можно было бы прочитать как "Взять символы со второго по четвертый" или так string[2:3], что значило бы "Взять три символа начиная со второго" (или такие же варианты, но с нумерацией элементов с нуля). А какая логика в это записи string[1:4]? Что было на уме у разработчика языка? Дискас
>>1107041 С вкатом тебя! В программировании (любом, хоть асм) отсчет идет с 0, а не 1. Может разве что в каком-нибудь макросодристе для экселя или 1ц как-то иначе. Короче привыкай.
>>1107041 Нумерация начинается с 0, что бы взять 2,3,4 символы(если ты .. и считаешь с 1) то первый вариант, иначе - второй вариант. Логика проста и понятна.
>>1107044 > string[1:4] Похоже разобрался, читается скорее всего так: "Взять символы с 1-го по 4-й (не включительно)" Хотя не понимаю, почему бы разработчику языка для это не сделать было так string[1:3] "Взять символы с 1-го по 3-й (включительно)" Так прощу для восприятия.
>>1107057 > от первого элемента от первого, в смысле от элемента номер(формально говоря от второго) один потому что первый это нулевой пояняю на всякий случай
Посоны, ткните носом в пример. Как в админке джанго 1.11 открыть определенную запись в таблице, используя при этом кастомную modelform, где добавлены дополнительные поля, зная праймари кей записи. Наверняка кто-то сталкивался.
a = 1 b = 2 if a and b != 2: print ('ok') elif a or b == 3: print ('not ok') else: print ('bye') Анон, почему аутпут "not ok"? Кажется, должен быть "bye"?
Вечер в хату, нид хелп. Пытаюсь в фласк https://ideone.com/AbC5HC По ссылке сверху форма, которая генерит кнопку и список с чекбоксами, переданный ей приложением. По нажатию кнопки я хочу получить список отмеченных пунктов и отгенерить новый список, уже без них, но меня выкидывает в 404, чяднт?
>>1107216 >elif a or b == 3: Это не так работает. В твоём случае идёт две проверки: 1. b == 3 2. a (что a имеет какое-то truthy значение, то есть не 0, false, "", [] и прочие falsey)
Нужно писать либо "a == 3 or b == 3", либо извратиться и "3 in [a,b]". То же самое касается и первого условия.
Анончик, я заебался уже, помоги понять в чем блядская проблема. Пытаюсь взять таблицу с сайта в список, но код мне выдаёт то index out of range то пустой список. На другом сайте всё работает. Использую lxml с xpath полным путём до таблицы взятым из фаерфокса, но толку нет. КрасивыйСуп выдаёт пачку ненужной хуйни из которой трудно выбрать нужные строки. Гляньте пожалуйста код, буду признателен. https://ideone.com/LOj2Wu
Аноны, на работе у нас микросервисная архитектура, сообщения между сервисами передаются через rabbitmq, но к сожалению pika, которая используется для передачи AMQP сообщений нестабильное говнище, нужно найти ей замену и желательно какую нибудь штуку, которая проверяла бы конект и о гарантированной доставке задачи можно было бы не беспокоится
Хочу опробовать питон. В вузе учили си шарпу, самостоятельно изучал джаву, но довольно поверхностно, причем на столько, что пока эти языки для меня одинаковы в синтаксисе и до реальный различий не дошел. Питон сильно сложнее?
>>1107582 Странно как-то. А то я начитался про профайлинг эйачров, как они там вконтактик чекают, фейспук, твиттор, составляют психологический потрет будущего неадеквата, а у меня там один сплошной он как-то странный, либо вообще нихуя. Вот думал на гитхабе выехать, но похоже дохлый номер.
>>1107594 да не ссы ты, прям в сиви и напиши мол на гитхабе проект с горсткой звездочек, в конце-концов ты ж его не спиздил и это и правда круто а эйчары просто телки, со всеми вытекающими: могут и на гуще кофейной погадать, и айсикю по вконтактовым репостам детектить
Django прохожу туториал по документации там есть вот такая вещь повторенная раза 3: Чем больше тестов, тем лучше
А если тесты превышают размеры кода самого приложения... Это ведь в 2 раза больше работы. Там где ты мог написать за 2ч, ты потратишь 4... Но в туториале очень настойчиво требуют писать тесты
>>1107542 Просто нравится как устроен человеческий организм, как его чинить и всё такое. Хотя прямо сейчас научка на патологоанатомии и пытаюсь подцепиться к Клименко, Лебедеву и всей этой айти компании. Но денежек дюже не хватает
>>1107628 Если только вкатываешься в джанго - забей хуй и займись чем еще - ту же django by example полистай, она годная Если вкатился уже достаточно глубоко, но еще не навернул 2 scoops of djang / obey the testing goat - навени и по тестам вопросы многие отпадут
От себя скажу что тесты помогают экономить когда проект развивается бурно. Обмазывать тестами говноблог который пишешь два вечера и не трогаешь три года - можно, но только если уж очень хочется. Фича тестов главная, в прикладном плане - что бы если после коммита кого-нибудь из команды все наебнулось - ты побежал к разозленному ПМ весело гогоча и тыкая в ебало успешные тесты твоей версии мол это не я, а сирожа все наебнул.
>>1107594 Не просто странно, но еще и обидно, так-то. Тоже слышал про составление профиля, но хз, делали ли так со мной, по факту, у меня везде фейки никак не связанные с гитом и телегой(никами в смысле).
>>1107644 Институт Развития Интернета. Клименко - советник президента, Лебедев - где-то, что-то главный по информатизации здравоохранения. Занимаются машинным обучением системы поддержки принятия врачебного решения и стандартизацией баз данных в здравоохранении
>>1107672 > 2ch > нормальный человек Хех Да ладно, я просто ебалом не вышел, а быть дурачком который ставит свои ущербные фотки везде и всюду - желания нет. Да и какая им разница, террорист я или просто поехавший, я к ним иду работать, код писать и всё, на это должны смотреть в первую очередь, на мой взгляд. Толку от социобляди которая не слыхала о PEP8, но зато инстаграм которой ломится от фоточек с отдыха и прочей важной информации?
Всё таки решил запилить код для морры. Проблема в том, что порой я не знаю, как попасть в определённый город, ибо смотря на список сложно сразу определить и учесть все пересадки. От программы хочу, чтобы требовалось ввести место пребывания и место назначения. Чтобы он перебрал кортёж и вывел оптимальный маршрут. Вот только алгоритм всего этого в голову не лезет. Лучше бы хеллоуворды писать, конечно… Кто-нибудь подскажет направление? Видимо, с парой тройкой циклов нужно иметь дело, но не совсем понимаю.
>>1107766 >Кто-нибудь подскажет направление? Это старинная задача Дейкстры о поиске пути на карте. 1) Тебе надо придумать, как хранить узлы графа, чтобы быстро узначать, как любая его вершина связана с другими вершинами, и — 2) Тебе надо будет таскать с собой односвязный список чисел, соответствующих вершинам, чтобы ты мог узнать, был ли ты уже в этой вершине или нет, и обходить петли.
Вот более простая задача: обойти лабиринт, с тупиками, но без петель. Для начала реши её, хотя бы на бумаге, дальше полегче будет.
>>1107768 Ты меня совсем не понял. Я не по карте буду бегать, а перемещаться на стритстрайдера или лодке. Есть заданные возможные пути, а мне нужно, чтобы программа в момент ока выдавала путь с пересадками до заданного пункта. Мне нужны циклы и условия, а не графическое нечтоещё не знаю питон настолько, чтобы с ними работать, да и для этой задачи не требуется
>>1107774 Мне нужна не карта, а пункты определённые. Можно сравнить со станциями ирл. Как бы... Мне неизвестно и предположительное местонахождение некоторых пунктов, но я знаю, как туда можно попасть, с пересадками.
Ну или вот ещё вопрос. Пишу, чтобы чуть ускорить работу. Нужно ввести название и текст документа. Запилил. Но если текст имеет перенос на другу строку, то всё что после переноса - не читается, по понятным причинам. Как фиксить?
Двач, помоги с регуляркой, плес. Нужна регулярка, которая проверяла бы, что в строке есть только буквы латиницей и цифры. Пытался решить эту задачку определяя, является ли строка ASCII-строкой и это действительно помогло исключить кириллицу, но это ж блять ASCII - там есть `& ; * ^ - + чего мне нужно избегать. Пример строк, которые должны пройти регулярку: Z6, SU, 7W
>>1107775 https://ru.wikipedia.org/wiki/Граф_(математика) У тебя есть города (вершины), и есть транспортные пути (рёбра). Вот тебе твой граф. А дальше Дейкстра спешит на помощь, как уже сказали. Физическое расположение этих городов не имеет никакого значения, про него речи и не шло.
>>1107879 Ебаный изврат. Находи максимальный элемент, через max(), затем делай обход массива в обратном порядке до того момента, пока не встретишь своё элемент максимальный.
>>1107901 >надо на английском писать, а у меня с грамматикой плохо У меня самого хуево. Читаю нормально, пишу как школьник. Но пока никто не жаловался, хоть и стыдно, да, особенно когда в истории ридми по десять правок одного предложения и одна правка корявей другой.
>>1107929 Это ананас пытается придумать что писать посредством великого псевдорандома зависящего от постинга на форум 2чхк и пронумерованному списка проектов для скучающих неофитов.
Двач, такая проблема, пишу телеграм бота в пайтоне , но не могу придумать, как встроить функцию : нужно чтобы он пересылал мне сообщения из канала (обозначенного в коде) как только они выходят Как это сделать
>>1107967 Очевидно нужно смотреть что там в телеграмовском апи, потом искать соответствующую функцию в библиотеке которую используешь. В общем случае ты слушаешь канал (обозначенный в коде) и пересылаешь куда надо.
Аноны, нужен совет. Появился тут заказ на приложение для андроида(клиентская часть реализована будет не мной, так что суть не в ней), суть приложения в том, что есть один сервис, доступ к которому стоит прилично, к тому же не всем он выдаётся. По этой причине создаётся один аккаунт и уже через него доступ к сервису будут получать все пользователи. Питон планируется на серверной части. То есть приложение отправляет на сервер запрос с параметрами, сервер уже передаёт эти параметры в сервис и делает по параметрам переданным выборку статей(пусть будут статьи), ну и естественно потом сервер возвращает полученные данные назад клиенту. Начальная нагрузка примерно 20-30 человек, но в перспективе меня пугают гораздо большей аудиторией(если взлетит - другие фирмы так же закупят ПО). Запросов будет много, но они мелкие(буквально 3-4 коротких параметра, в ответ тоже - небольшие структуры данных). Сам вопрос: Что использовать в качестве веб-фреймворка? Первая мысль была использовать Flask/Django, затем подумал о aiohttp и tornado. Ну и будет мой любимый nginx + sqlite/postgresql(там только данные для лицензий хранятся).
>>1107971 >олсо я тупой Ну ты хоть что-то уже написал? Кроме импорта телеграмной либы. А то появляются сомнения во фразу "пишу бота".
>>1107999 >sqlite/postgresql Для трёх строчек данных аккаунта? Зойчем?
Если хочешь, можешь сразу с uvloop поиграться, нагибая даже ЖСеров из соседнео треда, и пообещать заказчику возможность обработки огромного количества пользователей. Думается мне, однако, что боттлнеком всё равно будут запросы и получение данных с этого стороннего сервиса.
>>1108001 Да понятно, что это не он. Но как удачно зашло, что он пишет, что хочет показать гитхаб работадателю и тут такой аккаунтище, такой проектище!
>>1108008 Насчет БД еще хз, окончательного решения еще нет. Насчет ботлнека согласен, но может аккаунтов больше купят или еще что, просто что бы все упиралось не в мой код. >>1108006 Спасибо, я и забыл о нем, думаю его и возьму.
>>1108008 Да , написал , на самом деле все идёт очень даже ок , но сейчас , когда столкнулся с этой проблемой процесс встал + У меня почему то не импортируется библиотека telethon, хотя я ее установил и Пайтон сам говорит что с ней должно быть все нормально
Ребята, всем привет. Нужна ваша помощь. Перейду сразу к сути: В общем мне тут надо что-то в духе лейбла, который будет выводить все действия кнопок на себя, но я не знаю как это сделать. Поможет кто? Буду очень благодарен.
Недавно обновил резюме на хх. Соответственно сразу много hr активизировались и начали звонить. Прикольно пообщаться, пораздувать щёки и т.д. Но один из звонков был от яндекса… у меня плохой опыт общения с яндексом из-за их фанатизма к алгоритмам. Так вот, вроде разговор шёл неплохо, проекты-хуекты, нужны питонисты. А потом предложили пройти быстрый телефонный тест, чтобы, так сказать, отмести лохов-пиздаболов сразу. После этих слов температура моего ануса поднялась на пару градусов, так как прошлый звонок от яндекса закончился примерно этим же. Итак, питонисты, вопросы, которые мне задали... начну с нормальных™: - какие контейнеры/структуры данных (не помню как конкретно выразились) в пифон иммутабельны? Очевидно: tuple, forzenset. - сложность вставки элемента в середину листа в пифоне? Ну, вроде O(n). - сложность получения элемента из листа. O(1). А теперь приготовтесь… Выдохнули? - сколько будет 2^32? Вы чё, охуели?! Мне для этого пифон и нужен, чтобы эту хуйню не запоминать. Я ответил что-то вроде "4 миллиарда", а надо было: "два умножить на два тридцать два раза". В этом месте уже анус раскалился. - назовите алгоритмы сортировки со сложностью "O n хуйня пидор n". АААААА! Да мне похуй на эти алгоритмы, я их в гугле за две минуты найду и скажу. Ладно бы вопрос звучал: "назовите алгоритмы сортировки", это бы было сносно, и то, нахуй мне их знать?! Я что, собираюсь новый придумать? У меня дохуя выбор есть какой использовать в пифоне? Я ответил, что не согласен с политикой хуйни насчёт алгоритмов и того, что надо и что не надо помнить наизусть. Надеюсь мне больше не позвонят. Как же бесит их узколобость и культ алгоритмов.
>>1108385 >назовите алгоритмы сортировки со сложностью "O n хуйня пидор n". Быстрая. >АААААА! Да мне похуй на эти алгоритмы, я их в гугле за две минуты найду и скажу. Сэлюшай малтшык... >Ладно бы вопрос звучал: "назовите алгоритмы сортировки", это бы было сносно, и то, нахуй мне их знать?! Её в Московском Государственном Университете изобрели, когда он ещё был торт. >Я что, собираюсь новый придумать? У меня дохуя выбор есть какой использовать в пифоне? Из-за вас уже телеграфные столбы падают. Родина!!! Дала им сортировки!!!! Учи... сортров ` ы
Есть ли смысл вкатываться в питон? Смогу найти фриланс какой или фуллтайм-работу? (Ознакомился немного с синтаксисом, очень понравилось, как будто язык для людей делали)
>>1108421 Через месяцок-другой изучения сможешь найти удалёнку за ~4-5 килобаксов спокойно. Программисты сейчас везде нужны, особенно на питонистов спрос.
>>1108459 В чем тогда Many-To-One в ForeignKey? Я понимаю, что я могу это сделать, если поставлю order в модель с продуктами, но это же тупо, потому что у продукта может и не быть заказа?
>>1108511 в пайтоне вроде есть встроенный, но я что-то не могу разобраться есть небольшая программка, и мне нужно запустить её и видеть значения переменных с каждым шагом. как это сделать?
вот есть у меня n-ое количество списков, некоторые из них одинаковые (в том смысле, что есть такие пары списков, у которых каждый элемент идентичен), а некоторые нет. если я сделаю множество из списков, одинаковые списки, по идее, самоуничтожатся. или не прокатит?
>>1108536 нет, они разные, спасибо за ответ значит, нужно как-то сравнивать и удалять а с удалением у меня что-то туго, потому что в итоге получается index out of range
то есть вот удаляется в течении какого-то цикла (а иногда и не удаляется), и в итоге длинна списка уменьшается, но i принимает значение аж до старой длинны, и я всё ещё не придумал, как это решить я тупой, да
у меня все элементы хранятся в списке просто подряд друг за другом, но в каждой "группе" (её в коде нет, это понимание на человеческом уровне) ровно 5 элементов, т.е. все эти группы можно отделять, просто делая шаг в 5
>>1102146 (OP) Где для python можно найти пример простой работы с веб-формами и таблицами, получаемыми из sql ? Есть что-то вроде PHP-букваря, без всяких фласков и джанго ? Чтобы просто вывести результат запроса в виде таблицы и сделать поле для ввода текста, чтобы записать вводимый текст в этой базе нужной таблице нужную ячейку
Сап Аноны, есть вопрос Я написал скрипт, который хочу поставить на поток, но так-как не имею собственного сервера, хочу запихнуть скрипт в телеграм бота, и тот выполнял мой скрипт. Возможно-ли такое?
Аноны, посоветуйте годных онлайн курсов по питону(не для начинающих), что б с сертификатом(можно и без него, но лучше с ним), цена не важна(всё уплочено фирмой). Направление, в принципе любое, пойдёт и дрочь на алгоритмы и упарывание вебом.
Почему Python не используется повсеместно и имеет такое слабое распространение в Пахомии? Тут же есть всё: удобство работы и синтаксиса, большое количество готовых библиотек и решений для всех случаев жизни, быстродействие итп.
>>1108723 Ну джанго и другие веб-инкарнации питона сосут потому что основной заказчик сайтов - нищееб с фиточаем или грецкий орех оптом, и хуй такой захочет платить за самый простой VPS/VDS 1000 руб в месяц когда всего его васяны-дружбаны платят по 129,99 руб за говновордпрессохостинг.
>>1108829 1) php - это блядь другой язык 2) html это язык разметки
Если очень очень доступно html\css\js - это внешная оболочка сайта, те фронт энд, и как бы там не рвались - это не программирвание ни разу, это вёрстка, это дизайн. php\python\хуйнятипахаскила - это бэк энд, или условно движок сайта, код благодаря которому он работает. Это если за веб говорить
А так на питоне можно сделать ВСЁ, абсолютно. Главный его плюс - встраиваемость, благодаря которой его довольно низкая производительность сводится на нет. крч Питон - это веб, скрипты, дата саенс, нейроночки, хуёночки, дескопт, ии, данные и овердохуя еще. т.е и парсер написать, и бложик, и гугол, и Алису, и малварь и червяка аки чернобыль. Ясненько?
>>1108833 >Я правильно понял что Php это лишь альтернатива Python? пхп это блядь другой язык, и он ни разу не альтернатива. Это как сравнивать бентли способную и летать и по воде и под водой и в космос, с телегой запряженной клячей и коровой мутантом с копытами в обратную сторону по 3 штуки на каждую стоонупыха
Как дальше джанго изучать? Хелп Прошел курс джанго гёрл и туториал по документации, саму документацию полистал, глянул что интересно. Прикрутил к бложику красивую админку\опросник\тесты и прочие ништячки и не знаю что дальше? И есть еще вопросы: Какие технологии изучать кроме вёрстки? Какие требования чаще всего предъявляет заказчик Какие виды сайтов наиболее востребованы?
Офис не предлагать, хочу попытаться во фриланс за бугор. Сотни тысяч нефти не интересуют
Помогите, пожалуйста, советом, как продолжать обучение дальше.
С помощью питона прошёл pythontutor.ru решив все задачи, а также решил 35 задач на acm.timus.ru. Прошёл курс по Питону на курсере от МФТИ + мейлрач. Сделал тудулист на фласке и развернул на своём сервере.
Дальше упираюсь в незнание\непонимание алгоритмов, есть трудности с пониманием двумерного динамического программирования. Хотелось бы глубже понимать асинхронность, работу с сетью, а также поботать джангу. Может посоветуете какие-нибудь ресурсы или поделитесь своими саксесс-стори.
От корки до корки перепиши тупо django by example По итогу будешь неплохо отстреливать на уровне идеи че хоть гуглить Потом читаешь 2 книжки "2 scoops of django" + "ttd with python" и поздравляю вы экономист [/s джун]
>>1108851 у меня тут жопа со временем, времени нет, от силы месяца 1.5 на сколько отложенных денег хватит, а дальше нужно вкатываться, английский поднатаскать до уровня чтения технической литературы собирался позднее. Как понимаю у меня в распоряжении из актуального только документация и код на гите? Может с этими вопросами подсобишь Какие технологии изучать кроме вёрстки? Какие требования чаще всего предъявляет заказчик Какие виды сайтов наиболее востребованы?
>>1108855 Ну что верстка, если просто на уровне штмл+ксс шаблон впихнуть в джангу то тут и учить нечего, если спиздить темплейт на бутстрапе и под свои потребности перепилить - ну тоже, я хуй его чего там учить. А если фронтенд то тут уже черт ногу слоимит со всеми препроцессорами - ангуляр вуе реакт все эти бля gulp, sass, less и тд и тп - тут уже не просто "подучить" а полноценно вкатываться, не менее серьезно и быстро чем в питон
по остальному не знаю - кодером я не работал ни дня за те 15 лет что я кодю, да и с заказчиками у меня проще - клиенты они не по ПО, а ПО просто самодельная вишенка на тортике что бы всем удобнее было, и там от всяких риалтаймовских сводок с датчиков через веб-интерфейс и простеньких систем подсчета углов бортов карьеров по данным геодезистов до бложиков-парсеров новостей и тд, короче че только не писал
>>1108861 И да, без английского тебе делать нехуй в программинге вообще, ибо забивание в гугл проблемы это 50-80% собственно работы. И на английском ответов больше. Я уже за отсутствие документации на русском толком и не говорю.
>>1108861 спасибо. Думаю найти человека на фронт энд и вместе пилить.
>веб-интерфейс и простеньких систем подсчета углов бортов карьеров по данным геодезистов до бложиков-парсеров новостей
я не очень понял, типо дата саенс. геодезия и тд. наверное матан знать нужно от корки?
Я просто в веб вкатываюсь чисто получить прокладку что бы с голода не помереть пока изучаю нужные технологии, и дальше попытаться во что то серьёзное, анализ данных, нейросети, а может и полноценный десктоп
Тригонометрии за 10 класс хватало Берешь три соседние точки, получаешь плоскость, сравниваешь с вертикальной плоскостью и если сильно отклоняется от требований нормативной докуметации - косяк, а если нет - все окей. Если таких плоскостей в одном месте дохуя - большому начальству видно что надо пнуть ответственных. Все.
По остальному - ну, удачи. Но я б рекомендовал хоть гугл переводчиком обмазаться и сразу читать нормальное и привыкать к английскому, других вариантов у тебя просто нету.
сап питонач, я заебался искать почему хуйня не работает, может у меня уже глаз замылен, мож анон найдет косяк? короче нужно сделать запрос к api realtycalendar.ru документации как таковой у них нету, есть только это https://docs.google.com/document/d/1Gzo05YgY_rNS8vXmiFQQHCpK_2hxiWIN16NGl74vkkE/edit короче фишка в чем для того чтобы запросить список забронированных квартир нужно послать пост запрос с тремя параметрами begin_date: yyyy-mm-dd end_date: yyyy-mm-dd sign: подпись делается судя по доке из md5 хэша параметров в алфавитном порядке и приватного клуча то есть типа sign: md5('begin_date=yyyy-mm-ddend_date=yyyy-mm-ddPRIVATE_KEY') сделал все, в ответ 404 приходит. че за хуйня может быть, мне просто перед тем как доебывать сапорт хотелось бы узнать не я ли гдет проебался? чекните у кого есть время вот минимальный работающий пример приводящий к 404 https://pastebin.com/jEv7C9xD
>>1108905 >Помогите бляд понять, почему 11 это 1011, а 12 это 1100 а не 1110 Сижу и пытаюсь понять, как можно было подумать, что 1011+1=1100... Спасибо, ты сделал мой вечер
>>1108914 >Сижу и пытаюсь понять, как можно было подумать, что 1011+1=1100... Спасибо, ты сделал мой вечер Блядь, я описался. >Сижу и пытаюсь понять, как можно было подумать, что 1011+1=1110... Спасибо, ты сделал мой вечер
>>1108377 вот и залошил бы её по полной. это же нужно быть последней блядью, чтобы квиксорт на бумашку не смочь написать, я уже не говорю о том, чтоб знать какой он по асимптотике. ей должно стыдно стать, что по выходным она с шалавами бухать ходит.
>>1108952 > чтобы квиксорт на бумашку не смочь написать > я уже не говорю о том, чтоб знать какой он по асимптотике Ты серьёзно?! Да мне похую какой он по ассимптотике! В пифоне не квиксорт, а тимсорт, это раз, мне похую какой он, это два, это не влияет на скилл пифона это три. вопрос hr был не про квиксорт, а про алгоритмы сортировки со сложностью n пизда n
>>1108195 Ох божечки, как это миленько. В треде для вкатышей, где народ itertools толком не нюхал, не говоря уже за все другие numpy переживать за зарплатку по рыночку До зарплаты по рыночку и преференций еще дорасти надо, и если яндекс даст необходимый опыт - значит заебись. Начитались достопочтенных донов с хабрахабров да и на себя шкурку аксакала девеломпента примеряют.
Нужно быстренько переделать консольное приложение в ФОРМОЧКИ бгг. Как это делать с наименьшей степенью мозгоёбства? Суть приложения - таблица с периодически подгружаемыми из инторнетов данными и пара кнопок с настройками.
Питоняши, подскажите: есть один сервер, на нем скрипт. Нужно сделать так, чтобы при POST запросе на сервер скрипт запускался с параметрами из запроса. Как это обычно делается?
Работяги, часик в радость. Есть ли какие-то гуиды уровня продакшена, где рассказывают как связать SPA с Django, как с фронта отдавать ему данные и тому подобное?
>>1109559 >>1109560 Нет, вывода ждать не надо. Еще деталей: скрипт вызывается пару раз в месяц максимум, думаю там даже без разницы GET/POST использовать. Я неплохо знаком с джангой, но запихивать ее ради обработки пары вызовов в месяц - оверкилл. Что самое легкое и подходящее для задачи посоветуете?
Парсю сайт на scrapy, но там через приблизительно 1500 ссылок query устаревает. Как мне ее обновить без перезапуска паука? И желательно продолжить с того же места.
как же у меня горит! ебучий шиндовс нужно сделать ехе-шник, хочу установить PyInstaller. везде написано через pip. как зайти в этот ебучий pip? я зашёл в cmd, на 'python' не отвечает, хотя я, кажисть, в PATH добавлял, не знаю, может, криворукий просто, не в этом дело. уже написал полностью от диска путь, зашло! как же я радовался. делаю import pip. работает! пишу pip install PyInstaller. Invalid syntax. или venv -c -i pyi-env-name -- тоже Invalid syntax. Cyka!
>>1109643 1) win+R, у тебя появится поиск 2) вводишь cmd 3) нажимаешь enter, ты в консоли 4) вводишь pip install pyinstaller 5) после установки вводишь (в консоли) cd C:\Projects\your_project_dir или где у тебя там если директория не на диске C - сначала вводишь F: (буква диска, двоеточие, enter) 6) pyinstaller yourprogram.py
Аноны, поставил гугл-хром(63), хромдрайвер(2,34) и селениум. При попытке создать/открыть браузер webdriver.Chrome(), вылазит эта блядская ошибка. Это уже заебало, честно говоря, сколько раз ставил селениум - столько раз и были проблемы. OS - debian 9 x64. Какие есть советы по решению данной проблемы? p.s. Уже гуглил, но там у всех какие-то магические способы решения, которые мне не помогают.
После апгрейда компа и обновления ОС с vista до 7, питонов и сопутствующего софта возникла проблема - перестало нормально работать форматирование валюты с помощью locale, а именно символ 'р.' превратился в '?' Винда, питон 3.6 (пробовал 3.5 с тем же успехом). Минимальный код:
import locale locale.setlocale(locale.LC_ALL, 'Russian') # с 'ru' тоже самое print(locale.currency(100500.55, True))
На выходе: 100500,55 ?
Я конечно сделал enterprise workaround, но в чем дело то? Ведь раньше работало
>>1109690 Селениум - 3,8 Хромдрайвер - 2,33 Хромиум - 63 Дома - рабочая комбинация(хотя в доках написано, что хромдрайвер 2,34 только к хрому 63+). Спасибо, антош, буду пробовать такой конфиг и на работе.
Это снова я. Как убрать ебаный удаленный объект из ORM'а? Из базы он прекрасно удаляется, а вот из сессии - никак. Пытался делать `session.expunge(original_object)` - выдает ошибку, если стоит после `session.commit()`, или же не удаляется из базы, если до.
Объясните идиоту, если Python интерпретируемый язык, то получается чтобы запустить скрипт на компьютеры должен стоять Python (библиотеки и интерпретатор, верно?) Как например тогда RenPy без него работает и куча других пользовательских программ?
Питоняши, у меня что-то голова уже совсем не работает: вот я получил значения строки из GoogleSheets в виде array: ['Title', '', '', 'Frequency', '', '', 'Somthing else',..] Тут Title - раздел, занимает три колонки (в первой название, последующие пустые) Как можно просто получить словарь вида {'Title": slice(0, 3), 'Subtitle': slice(3, 6)}, Т.е. если в array пустая строка - значит предыдущий раздел еще не закончился
Свой код кидайте через https://ideone.com/
Книги и ссылка на PyCharm: https://yadi.sk/d/tArKKuQu3Kejuq
Предыдущий тред https://2ch.hk/pr/res/1094248.html
Django 2.0: https://docs.djangoproject.com/en/2.0/releases/2.0/