Двач.hk не отвечает.
Вы видите копию треда, сохраненную 6 июня 2021 года.

Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Питон тред №118 /python/ 2003913 В конец треда | Веб
Тред, посвящённый языку программирования Питон, #118

Предыдущий: >>1989943 (OP)
Литература:
https://ln2.sync.com/dl/cf2c1d070#xq4s328t-xbbjys2z-9r6j7ss7-gf4e9dv6 <-- Книжки, новое собрание
Ещё книжки: https://yadi.sk/d/HQhhsBsq3TVRUq
Тоже книжки: https://yadi.sk/d/tArKKuQu3Kejuq
Больше книжек: https://yadi.sk/d/H-00n-UG3RSQem

Анон, вместо того, чтобы без разметки постить код, лучше шарь его через специальные ресурсы:
https://ideone.com/ - возможность постить листинги кода и онлайн-запуска, не требует регистрации
https://dumpz.org/ - можно постить листинги, не требует регистрации
https://pastebin.com/ - для листингов, регистрация не обязательна
https://www.codepile.net/ - можно расшарить код в том числе на редактирование, особая полезная опция - чат при каждом листинге, где можно код обсудить
https://pyfiddle.io/ - запуск python кода онлайн, но чтобы шарить, надо регистрироваться

#######################################

ЧаВо: https://github.com/TheKnightsWhoSayNi/info/wiki/Hat Актуальность примерно 2015 года

Вопросы-ответы:
— А стоит ли читать Лутца, том номер N?
Мнения в треде разделены. Кто-то за (очень неплохая база даётся), кто-то против (слишком много воды и объём книг убивает всё рвение). В общем — решать тебе, книга вредна не будет, но ты можешь её просто не дочитать и забросить.

— Стоит ли читать %книга_нейм%, если там питон версии 2.х?
Нет, не стоит. 100% есть более актуальная книга, для пистона 3.х

— А что ещё можно читать?
Питон сам по себе очень хорошо задокументирован и для уровня начинающих, и для продвинутого. Смотри официальную документацию. Можно начать вот с этого https://docs.python.org/3/tutorial/introduction.html

— Есть у кого на примете годный курс лекций по алгоритмам? Формат лекций мне как-то ближе, нежели просто чтение книги.
МФТИшный курс, например, https://www.youtube.com/playlist?list=PLRDzFCPr95fK7tr47883DFUbm4GeOjjc0

— Что можно почитать/посмотреть по многопоточности/параллелизации в питоне, да и вообще в целом?
Очень годный ролик на американском языке про многопоточность и асинхронность https://www.youtube.com/watch?v=MCs5OvhV9S4

— А как учить джангу? Нахожу только книги по джанге 1.х
У джанги отличные доки (одни из лучших для пистоновских либ, имхо), почитай их для начала. Книгу по джанге можно читать и для версий <2, это не проблема, т.к. принципы остаются теми же. Для переката на 2.х хватит changelog`a или тех же самых доков/статей. Начни изучать с разбора учебного приложения с голосовалкой из официальной документации.

— В ньюфаг-треде написано, что нужно начинать с SICP, чтобы научиться программировать
Вот, пожалуйста, та же самая программа, но переработанная под язык Python: http://composingprograms.com/ (нужно знать ангельский или уметь пользоваться переводчиком)

— Можно ли на питоне делать мобильные приложения?
Да, смотри на фреймворк Kivy https://en.wikipedia.org/wiki/Kivy_(framework) https://kivy.readthedocs.io но народ на него жалуется

— Как можно без лишней возни ускорить программу на питоне
1) проверь сначала свой код, алгоритмы и структуры данных. Чаще проблема здесь.
2) код можно иногда феерично ускорить, используя JIT (Just-in-Time) компиляцию. Почитай обязательно про модуль numba, он ставится через pip, и альтернативный интерпретатор PyPy.

— Дайте нормальные книжки на русском! Мы, блядь, не в пиндосии живём
Брат, смотри книжки по ссылкам в шапке, там есть и русские. Но помни, без языка ангелов твоя жизнь проходит мимо и ты обречён быть на обочине знаний и технологий.

ps: анон, если ты вносишь изменения в шапку, оставляй ссылку на код с обновлённым исходником.
Исходник: https://dumpz.org/bASGKD8cCFDf
2 2003955
Дали задание протестировать Java код на питоне: посмотреть, заполнен ли массив, используется ли цикл и тд.
В голову приходит только взять исходный код на жаве, и добавить в конце assertы на заполненность и все такое, но я не могу же таким образом проверить использования цикла, например.
Для проверки на тест-кейсах есть простейший баш-скрипт, а как именно проверять код, я не могу понять. Мб кто-то сталкивался или шарит, как это можно удобно организовать?
3 2003974
Анон, пишу скрипт, который должен работать под виндой и линуксом, и тут у меня операции с директориями. Проблема в том, что в винде слеши обратные, а в линуксе - прямые. Как мне учесть этот момент?
Я не хочу переписывать весь свой код два раза для if os == 'winda': и elif os == 'linux'.
Обрабатывать такие штуки надо в ситуациях типа
with open('templates/folder/file.txt', 'r') as file
4 2003976
>>03974
Пиши везде никсовые слеши, он сам разберется.
5 2003977
>>03974
with open('templates/folder/file.txt'.replace('/', os.sep).replace('\', os.sep), 'r') as file
Должно сработать
6 2003978
Привет. Может кто-то адаптировать или показать как это делается в асинронном режиме? Какие плюсы по сравнению с этим трелингом?
for thread in threads:
....thread.start()
for thread in threads:
....thread.join()
7 2003979
>>03977
норкоман
8 2003982
>>03979
Ну вообще говоря, код на линуксе с его реплейсами у меня заработал, в винду пока лень бутаться. А чому он наркоман?
9 2004089
>>03982
Потому что для этого есть os.path.join
10 2004109
>>03974
pathlib
>>03978
Ты сначала задачу свою опиши
11 2004148
>>2003813 →
Репостну из предыдущего.
Понял.
А вне Gunicorn'а это приблизительно так же выглядит? Или какие-то другие механизмы?
12 2004181
>>03913 (OP)
ну первая картинка и милота!
кстати, почему цвета питона желто голубые?
download.jpg7 Кб, 293x172
13 2004186
>>04181
Известно почему.
14 2004187
>>04181
Потому что Ван Россум фанат Украины
15 2004219
>>04187
>>04186
Мне кажется что это совпадение
16 2004227
В шапке ссылки протухли? Последняя на запуск кода какая-то шняга рекламная.
Посоветуйте онлайн консольку, чтоб в дороге с андроида обучацо, пожалста.
17 2004242
>>04227
http://pythontutor.com/visualize.html#mode=edit
Если зайти на pythontutor.ru, то там базовый курс питона с использованием этого визуализатора
Но нужно понимать, что на телефоне невозможно программировать нормально, это сложнее и в разы дольше, чем на компе
19 2004259
>>04242
Спасибо, но сайт какой-то странный, при любом нажатии увеличивает масштаб на 300%, пользоваться невозможно с телефона. Или это из-за оперы.

Не для кодинга конечно, чисто проверить что-то небольшое, в целях обучения.
20 2004265
>>04249
Спасиб, попробую. Но обычно у приложух сильные ограничения функционала, модули там не поддерживаются какие-то, еще что-то. Надеюсь для моих задач хватит. Спасибо.
21 2004281
>>04265
Если хочешь почти как комп, то можно скачать Termux.
Андроид построен на основе линукса, поэтому можно сюда поставить питон и ставить нужные модули туда
22 2004478
Напишите пожалуйста эту "эквивалентную реализацию через getitem". А то я не могу понять как бы она работала, не смотря на объяснение.
23 2004503
Сап программач. Предлагаю вам посмотреть на самое ебанутое задание. Хохлы хули

Степан любит много смеяться. Смех-это последовательность букв " a " и "h", которые
чередуются. Так например, «ahahaha», «hah» и «a» являются смехом, а «abacaba» и «hh» -
Нет.
Степан разговаривает очень быстро, поэтому все его слова сливаются в одно
большое. Для исследования вам нужно выяснить, как долго он может смеяться. В
вас есть строка-запись разговора Степана. Определите наибольшую длину смеха в этой
разговоре.
Входные данные:
Первая строка входного файла содержит одно натуральное число N (1 ≤ N ≤ 105
) -
длина строки с разговором Степана. Во второй строке содержится строка из
маленьких латинских букв длиной N-запись разговора Степана.
Исходные данные:
В исходный файл выведите одно число-наибольшую длину смеха в разговоре
Степана.

Кто-то вообще понимает, что это за пиздец? Пробовал второй пик, меня послало нахуй.
24 2004511
>>04281
Спасибо, попробую.
25 2004515
>>04503
Какие же хохлы дегенераты...
Приятнее всего воспользоваться re.findall и взять max len от полученного списка.
Ну или цикл по строке с двумя переменными, где одна переменная это длина текущего хи-хи, а вторая это максимальная длина хи-хи, код писать я разумеется не буду.
26 2004518
>>04515
Да я вроде посчитал эти хихи-хаха через цикл, но был послан нахуй. Может я туплю и здесь нет правильного овтета, ибо я не выкупаю, откуда там берутся такие цифры
27 2004534
>>04518
Ой, чел, там ещё и чередование букв надо учитывать, aaaa и hhhh не считаются смехом. Ну тогда вариант с изящной регуляркой отпадает и остаётся только цикл со сложными условиями. Крепись, чел.
ans.png67 Кб, 689x906
28 2004550
.png23 Кб, 942x453
29 2004556

>> 2004503


В пайтоне это можно за одну строчку решить.
30 2004558
.png368 Кб, 1488x881
31 2004559
>>04503
Кстати, тут ещё в задании взаимоисключащие вводные.
32 2004562
>>04556
ответ должен быть 5 в твоем примере
33 2004564
>>04559
По-русски не понимаешь? Написано же, чередуются. Поэтому если две одинаковых буквы подряд, то смехуечек обрывается.
34 2004568
Ох, заинтриговали меня ваши хохлы, вечером решу.
35 2004572
>>04564
Проблема их формулировки в том, что по ней "аа" можно трактовать как чередование "а" и "а". В этом задании не мешало бы эксплицитно исключить "аа" так, как это было сделано с "hh".
haha.png84 Кб, 711x983
36 2004573
>>04550
Забыл про кейс с "аа" и "хх".
37 2004577
>>04550
Ты гений просто. От души. Сам бы я эту залупу не смог решить.
38 2004589
Эта задачка больше сишников всяких дрочить. Хули нам, питонам.
https://ideone.com/NkHpeo
39 2004597
Кстати. Эта задачка из какой-то олимпиады по информатике. 8-11 класс
.png26 Кб, 1076x413
40 2004604
>>04577
Ты не забывай про ограничение на время и N до 100k - лупы в пайтоне не самые быстрые. Через регексы наверняка быстрее было бы.
Пикрелейтед, если c исключением "aa"/"hh".
41 2004610
>>04604
Да я думаю пофиг. Просто в универе после того, как сдал большой проект дают мелкую задачку на алгоритм. Проверка довольно формальная
42 2004613
>>04604
Я гарантирую что этот код в несколько раз медленее чем простой луп.
43 2004615
>>04613
Может быть, кому-нибудь не лень и кто-то потестит, было бы интересно.
44 2004638
>>04478

[code]
class SquaresGovna:

def __init__(self, start, stop):
self.data = [value 2 for value in range(start, stop+1)]

def __getitem__(self, i):
return self.data

for i in SquaresGovna(1, 5):
print(i, end=' ')

[/code]
.png158 Кб, 1264x1046
45 2004659
>>04615
Такие дела приблизительно.
46 2004674
>>04659
Код неправильный, но регекс действительно быстрее.
47 2004682
>>04674
Ну, да, кстати, надо было проверить сначала, что возвращают. Оба варианта на длинной стринге некорректно работают.
48 2004716
>>04573
Скинь assert'ы текстом не в крысу, лень перепечатывать.
image.png271 Кб, 1920x1080
49 2004848
Сап двощ, начал осваивать Лутца, и там грится, что условный блок кода, который не вложен в оператор if должен хуяриться слева без отступа. Собсна, почему в моем охуенном коде если я въебываю четыре пробела перед блоком кода, который не вложен я про print('block0'), то все заебись работает, а если удаляю отступы, и хуярю его без отступа, то выдает исключение?
50 2004849
>>04848
Слово условный нахуй не нужно бтв не знаю зачем его высрал не обращайте на него внимания плз
быстрофикс
image.png2 Кб, 190x159
51 2004874
>>04848
Потому что в интерактивном режиме ты вводишь по одной конструкции. В твоем случае верхний if x это начало, и всё остальное вводится уже внутри, так что принт на том же уровне и дает ошибку
В обычном шелле это обозначается ..., у тебя что-то не видно.
52 2004923
У меня есть неделя, чтобы написать веб-приложение, которое дёргает из сторонней bi-системы данные, выводит их на странице в виде таблицы, с возможностью фильтрации и редактирования. Пакет, который данные по рест апи дёргает данные уже есть. Как остальное запилить? Нужна ли тут джанга? Имхо нет, т.к. данные не имеет смысла хранить в бд приложения, если всё равно каждый раз их надо тянуть из бд bi. Что тогда использовать, фласк? Как реализовать табличную форму и возможность редактирования (типа как в гугел шытс)?
53 2004928
>>04923
Если следовать твоей логике, то джанга только если есть бд, а если взять фласк, то нельзя использовать бд.
Ни тебе здрасьте, ни до свидания. Нам за тебя тестовое задание сделать, черт?
54 2004952
Есть ли плагины, которые выводят подсказки как в pycharm по первой букве? Например, написав 'p' мне сразу подсвечивает print.
Пользуюсь Atom
изображение.png8 Кб, 548x101
55 2004966
>>04952
Он это делает искаропки
56 2004967
>>04952
VScode попробуй поставить, мне очень зашла после атома.
Там твои подсказки из коробки работать будут.

В Атоме плагинов под питон особо нет, подсказуи рандомизируются.
57 2004968
>>04928
Ну сделайти. Я выбрал джангу, пофиг. Остался вопрос с тем, как запилить интерфейс табличный с фильтрацией и редактированием.
58 2004969
>>04966
>>04952
Лол, чет я даун
59 2005005
>>03974
Ищи os.path.join вроде то что тебе нужно
60 2005024
Анон, а как можно отсортировать вот такой список?
['2: string2', '1: string ', '3: string3']
там хранятся строчки, но каждая из них начинается с числа, по которому и нужно сделать сортировку.
61 2005026
>>04659
Интересно - оказалось, пайтоновские лупы уделываются даже вот такой нестед елдой, как на пикрелейтед: две лябмды, re, sorted, filter. При этом по памяти приблизительно одинаково.
62 2005030
>>05024
sorted(my_list, key=lambda x: int(x.split(":")[0]))
63 2005033
>>05030
Хотя, int() можно убрать тут.
64 2005050
>>04604
Почему старт от 1? Эта хуйня разве не пропустит одиночные a h?
Что значат ?!< в начале круглых скобок? В обоих случаях, там разные комбинации.
65 2005060
>>05026
Поиск в ре сишный, он высирает готовые результаты, а фильтры уже только по ним.
Хотя это питонья реализация какая-то унылая.
Скинь-ка это всё текстом, я потыкаю.
66 2005061
>>05030
Охуеть, от души! А как оно работает? Вообще не понимаю.
68 2005068
>>05050

> Почему старт от 1?


> Что значат ?!<


Можешь здесь это всё почитать: regex101.com
А там регекс забагованный, пришлось вилкой чистить. То решение через лупы тоже забагованное, поэтому этот код не смотри особо.
69 2005077
Как правильней будет сделать какое-то действие после создании модели в Джанге? По сути я могу описать логику в сериализаторе, овверайднув метод create(), так же могу овверайднуть create во вьюхе, перезаписать save() в модели или создать post_save в сигналах. Всё будет работать одинаково, но что является лучшим вариантом?
70 2005083
>>03913 (OP)
Пытаюсь тут обновить одну таблицу в postgres (а точнее поле json), но при попытках обновиться эта падла мне часто ругается на знак "%" - это, якобы это "unsopported format character" - втф? С хера ли % не может быть внутри полей бля?

до кучи добавлю, что я вытаскиваю уже готовое поле где присутствует % (!) но когда обновляю его через sqlalchemy то postgres усирается
71 2005086
>>05083
Пробовать избегать этот символ? Мб он считает его частью структуры LIKE %%.
72 2005088
>>05083
Попробуй экранизировать его через _%
73 2005091
>>05083
Показывай код, хули гадать.
74 2005101
>>05091
Что код-то? Ничего он не покажет, дело как и сказали аноны в конченной интерпретации символа % (который уже есть в json, я на это повлиять не могу, нельзя просто "избегать символа %")
Вопрос в том как его верно экранировать? Перед проведением UPDATE проверить всю строку json и напихать туда _ или \ ?
хз
75 2005102
>>05101
Банально - парсишь лупом поля жсона и в случае, если там есть %, то заменяешь значение этого value на _%. Не подойдет?
76 2005103
>>05101

>Ничего он не покажет


Скорее всего покажет, что ты манипулируешь с базой через три пизды вместо того, чтобы сделать апдейт.
Попробуй заменить все % на chr() от ascii кода %
image.png14 Кб, 381x177
77 2005104
Задача про смехуечки. Работает как швейцарские часы. К сожалению, через одну регулярку не осилил, поэтому не так красиво.

import re

def ahaha(txt):
ah = re.findall(r'((ah)\2a?)', txt)
ha = re.findall(r'((ha)\2
h?)', txt)
return max([len(i[0]) for i in ah + ha])
78 2005105
>>05101
Покажет где ты обдристался, это какая-то простейший косяк.
unnamed.jpg43 Кб, 512x355
79 2005106
>>05104
Пиздос.
80 2005110
>>05102
Или json to string -> string.replace() -> string to json
81 2005116
>>05105

update_query_start = f'''UPDATE chatvisitor as cv SET json = v.js FROM (VALUES '''
update_query_end = ''') AS v(id, js) WHERE v.id = cv.visitorid'''
to_update_values = [] # some values here
vals_query = ','.join(to_update_values)
whole_query = ''.join([update_query_start, vals_query, update_query_end])

Сильно помогло? Это небольшой кусок непосредственно при добавлении в БД, если закину весь код там будет куча оверхеда, явно ненужного здесь
Вкратце: обновляю базу с 2.5 млн записей, заранее беру все записи через SELECT а потом начинаю делать UPDATE, обработав json-поле нужным образом. Почем вот так вот объединяю строки? Потому что это butch-update, тут разом 100к значений будет, потому что если обновлять их поштучно то можно усраться как долго он это будет делать
82 2005119
>>05116
Так если ты руками крафтишь запросы, то и эскейпить значения нужно руками, а как же.
83 2005120
>>05119
Можешь прогнать эти значения через prepared statement и глянуть, что он с ними делает. Ну и в целом в либе должны быть функции для обработки, читай доки.
84 2005122
>>05105>>05116
Кстати интересное наблюдение: предварительно пробовал конкурентно гонять скрипт на тестовой базе. При асинхронном варианте через asyncio.gather обосрался на 50% по производительности по сравнению с поштучным синхронным, при мультитрединговом варианте через ThreadPoolExecutor обосрался на 40% (потому что сам постгрес лочит таблицу при таких обновлениях и конкурентно ничего не исполняется)
85 2005126
Анонасы есть кто в тредике живой? Я жуниор жуниоров и у меня быдлокод не выходит. Пара вопросов есть, был бы очень благодарен если бы кто подсказал(указал) на мои ошибки. Код сюда кидать не буду слишком стыдно за высер
86 2005128
>>05126
Почему тебе стыдно на анонимной борде? А как ты на настоящей работе будешь работать?
16043303746572.jpg89 Кб, 450x600
87 2005129
>>05126
Спать пора
88 2005130
>>05126
Кидай, не ссы.
аргументы.PNG39 Кб, 1072x759
89 2005131
Прошу прощения за глупый вопрос, но подскажите, что тут не так?
Вроде всё честно запрогано.
(В устройстве функции разбираться не нужно, гляньте только на передачу аргументов)
Заранее спасибо.
90 2005132
>>05131
если что в аргументы передаётся точно словарь, в этом ошибки быть не может
91 2005134
>>05128
Стыдно потому что эта двач нахуй. /pr/ один из самых токсичных бордов здесь. Даже /po/ и /re/ менее токсичный. Тут сразу "ооо ряяя вкатыш, ты ненужный член общества хуе-мое да. иди за уроки ряяя". Дефолтный ответ на просьбу о совете print('Пошел нахуй')
Сразу все желание пропадает сидеть тут.
Конечно, если люди-исключения. Пару раз общался с адекватными здесь, которые подсказали и помогли. Однако в основном реакция как выше.
>>05129
Это да
>>05130
Спасибо. Я работаю сейчас в корпорации, продаем говно скажем. Я еком специалист и мне часто приходит задача: Переименуй фото на каждое SKU так то так то. Это делается чтобы на маркетплейсы их выложить. Так вот, хочу это автоматизировать а заодно прокачаться в программировании. Сейчас я на стадии: есть одна папка в ней лежит 100 папок в каждой из 100 папок лежит еще 5-10 папок и уже в каждой из этих папок лежат фотки которые я буду соответственно переименовывать. Следовательно мне надо избавится от ненужного звена, а именно удалить вот эти папки (пикрил 1). То что я написал уже ошибка и я не понимаю почему он не показывает мне лист вложимости подпапок(пикрил 2 и 3) Очень буду благодарен если подскажите!
92 2005135
>>05134
Привет, Утконосик!
image.png124 Кб, 1862x807
93 2005136
>>05134
Я понимаю что буду копировать фотки в лист, потом выносить этот лист в основную папку, а папки вложения буду удалять, но питон не хочет видеть что у меня в подпапках, собака такая. В консоли видно что он мне перебирает и не видит вложимость, но если я вызываю функции вручную и по одной то он мне все это делает.
94 2005137
>>05135
Загнулся он уже, маленькая относительная посещаемость. Моя команда больше концентрируется на вб и озоне сейчас
95 2005139
>>05134
Это рекурсивная задача и решается она рекурсивно, а не твоей хуйней. Но ещё это частая задача, поэтому она уже реализована в стандартной библиотеке - смотри os.walk
96 2005146
>>05139
Реально, СПАСИБО
Сори за тупые вопросы. Я очень много чего еще не знаю
97 2005148
>>05139
Бля, я похоже совсем тупой. Как тогда мне из этого картежа вытянуть все фотки то?
98 2005149
>>05148
Вон в документации второй пример прям тебе канает, только вместо os.remove делаешь rename.
https://docs.python.org/3/library/os.html#os.walk
99 2005150
>>05149
Спасибо огромное
От всей души спасибо, я уже сгореть хотел
Анон 100 2005168
Тема!
101 2005199
>>04109

>Ты сначала задачу свою опиши


Нужно сделать 30 отдельных реквестов и чтобы это не занимало 10-15 секунд нужно чтобы было быстро. Это для dashbord поэтому больше 5 секунд будет уже плохо.
102 2005217
Братцы, помогите с логикой.
Есть API, который я опрашиваю в бесконечном цикле раз в час, передавая случайное число от 0 до N.
N может изменяться и я хочу его чекать раз в 2 недели и, если он изменится, менять.
Как это реализовать в Python? Где хранить старое N? Как в запущенном процессе проверять N?
103 2005323
>>05077
Разница в области действия твоего кода же, если ты во вьюхе сделаешь, то в другой вьюхе save останется прежним, если в сериализаторе, то только при использовании этого сериализатора, если в модели - во всех случаях. Вот и решай когда тебе это надо.
>>05104
Со строкой 'a' сработает?
>>05199
Вот тебе пример с покемонами: https://www.twilio.com/blog/asynchronous-http-requests-in-python-with-aiohttp
Если тебе нужны результаты всех 30 запросов вместе, то используй await asyncio.gather(), он подождет пока все запросы исполнятся и выдаст тебе результаты пачкой. Если надо отдать на клиента результат отдельного запроса не дожидаясь остальных, то создавай задачи отдельно с помощью asyncio.create_task()
104 2005389
Какова вероятность, что в ближайшие лет 5-7 Django перестанет быть актуальным? Тут ведь, как грибы после дождя, вылезают компактные асинхронные фреймворки, позволяющие практически из коробки получать более-менее нагружаемые сервисы, так, спрашивается, каким останется юзкейс для Django?
105 2005391
>>05389
Что тебе помешает перекатиться с джанги на другой популярный фреймворк? Это же не другая технология, и даже не другой ЯП. Просто либа к нему, для менеджмента реквестов и респонсов.
106 2005415
>>05391
Ничего, просто интересно, что прогнозируете.
107 2005434
>>05415
Думаю Джанга сможет адаптироваться под современные реалии, за счёт большого опен-сорс копьюнити. Та же поддержка асинхронности и ASGI тому пример.
108 2005451
Здарова питонисты, я к вам пришел из другого, более элитного треда и у меня к вам очень важный и каверзный вопрос

А не расскажите ли вы мне часом, почему в питоне нет нормальной функции вывода???

Ваш пидорский print() на самом деле является println(), он тупо ставит \n в конце любой строки. В любом другом нормальном языке есть функция вывода в строку, без переноса
109 2005459
>>05451
sys.stdout

и гугли мануал print-а, все там есть и вывод форматируется как тебе надо
110 2005460
>>05451

>я к вам пришел из другого, более элитного треда


Откуда тебя погнали ссаными тряпками?

Есть специальный аргумент end="\n", можешь каким угодно конец строки делать, по-умолчанию "\n".

Тебе не место среди пайтон господ, уходи отсюда.
111 2005477
>>05459
>>05460
Почему в таком крутом и прогрессивном языке мне надо изьёбываться чтобы просто вывести в строку?

Почему создатели питона просто не сделали 2 функции print и println???
112 2005492
>>05477
А еще функцию чтобы выводить через табуляцию, а еще функцию чтобы через строку, а еще функцию чтобы разделитель был не пробел а таб
113 2005504
>>05477
Если это для тебя самая важная функция языка, то стоить поискать другой, тут плохо зделано тупо.
114 2005515
>>05477
Да вообще долбоебы
Надо было не 2 сделать а 4: одна выводит в строку, другая через строку, третья через запятую а четвертая меняет регистр при выводе
Вот тогда было б заебись
115 2005518
>>05504
>>05477
Решается всё в одну строчку (плюс ещё одну на импорт)
println = functools.partial(print, end="")

Кста, анон, попробуй так в своих явах.
116 2005534
>>05518
Что на явах? На благородной джаве все просто

System.out.print() для вывода в строку
System.out.println() ставит \н после вывода

Также в джаве ты можешь ставить \n прямо в сообщении и будет все выводиться как тебе надо

Например "ху\nй" выведет:
ху
й
image.png3 Кб, 238x120
117 2005541
image.png31 Кб, 900x99
118 2005543
>>05534
Пиздец ты клован...
в прочем что еще можно ожидать от человека не осилившего мануал для базой функции print
119 2005554
>>05541
>>05543
Нахуй вы это высрали то?

Вы как раз таки и указали на проблему питона. Там по стандарту стоит енд="/n" хотя по стандарту не должно ничего стоять
А если хочешь вывести на новую строку то как раз таки и использовать этот доп аргумент

А пример на джеве я сделал потому что там анон сам это попросил

>Кста, анон, попробуй так в своих явах

120 2005557
>>05554

>А пример на джеве я сделал потому что там анон сам это попросил


Анон тебя просил сделать partial применение
121 2005559
>>05554
Зелёный, принт обычно используют для дебагга каких-то переменных для себя. Мне проще написать print(a), и увидеть в терминале вывод в отдельной строке, чем каждый раз писать print(a, end="\n").
122 2005561
>>05554
Нихуя, стандарт на принты уже выпустили. Ну неси ссылку, почитаем.
123 2005562
>>05561
Стандарт - си язык
124 2005565
>>05559
Называешь меня зеленым и при этом дебажишь принтом?
Нихуя себе

Подойди к синьору, спроси как они дебажат
125 2005571
>>05562
И почему же в си нет ни print, ни println, как так получилось?
126 2005582
>>05565

> и при этом дебажишь принтом?


Что не так с дебагом принтом?
127 2005622
>>05582
Это не профессионально
128 2005625
Генератор ведь является итератором?
129 2005629
>>05554

>Вы как раз таки и указали на проблему питона.


Какая ещё проблема питона? Как раз в большинстве случаев нужно, чтобы print переводил строку, чтобы не писать "\n" каждый раз. Это реально очень неудобно каждый раз писать руками, как в C/PHP, например.

Если тебе нужно печатать на экран без перевода строки, то скорее всего ты что-то делаешь не так, что дурной стиль и чревато проблемами. При этом у тебя есть такая возможность, указав end="". Но я не помню, когда последний раз так делал.

В норме ты должен сначала сформировать строку, а потом уже делать её вывод.
130 2005640
>>05625
Он реализует протокол итератора.
131 2005647
>>05622
Тоже не по стандарту? Лучше же включать дебаггер и перезапускать весь проект, чем законсолить нужный объект в классе и глянуть че в него упало. Зато по какону и профессионально
132 2005662
Кто-нибудь писал/тестил Rust'овские модули для пайтона в продакшене? Хочу попробовать в одной приложухе переписать основную логику на Rust'е через вот это вот - https://github.com/dgrunwald/rust-cpython . Интересено, какие подводные.
133 2005663
>>05640
Разве у него у самого нет метода next?
134 2005675
>>05663
Я же говорю, что он реализует протокол, т.е. iter и next, поэтому его можно использовать там же, где и итераторы. Но не только.
135 2006017
Как с помощью sqlalchemy.engine сделать бэкап бд mysql? Тупо данные выгружать в каком-то формате или как это делается вообще?
136 2006062
Salut, подскажите книги best practices по питоночьюму написанию кода, 50 рецептов читал, мало полезного.
137 2006131
>>05323

>Со строкой 'a' сработает?


Нет, а разве это является смехуечком по условию?
БТВ моя хуйня еще валится если смехуечков не найдено, так что надо было добавить в начале return 0, если в строке не найдено смехуечков ah ha.
138 2006225
>>05323
Ок, спасибо. А можно ли как-то сделать headers глобальными в confteste например?
139 2006400
Как мне вставлять списки в клеточки таблички pandas? То есть чтобы заработало df['column_name'][0]=[1, 2, 3]. Я для начала создал этот столбец и заполнил нанами df['column_name']=np.nan А вот при попытке вместо нанов писать списки мне ругается setting an array element with a sequence.
При этом знаю точно, что списки туда запихнуть можно.
140 2006419
Как же заебало программирование. Каждый раз что-то ломается у кого то. Пздц. Куда потом люди перекатываются?
141 2006430
>>06400
Сам сделал, но костыльно. Пришлось делать список из этих списков, чтоб длина соответствовала длине датафрейма. И уже это список списков пихать как целую колонку.
Что-то типа
list=[[1,2,3], [2,3], [1,2]]
df['column_name']=list
ahegao-sweatshirt-ahegao-vio-store-226487-40.jpg124 Кб, 807x985
142 2006431
Бля, анон, просто хотел поделиться гордостью.

По работе написал программу, которая залезает на хост БД, с помощью Pyinquirer и выбирает нужную базу данных и опять же по выбору лезет в нужную таблицу, забирает оттуда данные, форматирует их в нужный вид и подставляет в текстовый файл с кучей предыдущей инфы из этих таблиц. Попутно ещё разучил регулярки в SQL. Короче по сути вышел такой дифф.
Скрипт получился большой, на 2500 строчек. Буду думать, как оптимизировать, а так прям пиздец охуенно, срезал этой штукой часа два работы каждую неделю и постоянные обосрамсы на продакшене.
Ещё буду прикручивать версионирование через гит, чтобы обновлять эту программу.
143 2006432
>>06431

> дифф


Що?
144 2006529
Умоляю, помогите.

Есть 1 код через который пытаюсь приконектиться к БД, но все время выдает ошибку, что класс com.ibm.as400.access.AS400JDBCDriver не найден. Очень больно, тыщу страниц в гугле прошел, но ничего не находится.

import jaydebeapi

connect = jaydebeapi.connect(
'com.ibm.as400.access.AS400JDBCDriver',
'jdbc:as400://url;',['login','pass'],
'Driver/jt400.jar')

Я скоро повешусь от этой проблемы.

Пытался также через ibm_db

ibm_db.connect(
"DATABASE=name;"
"HOSTNAME=name;"
"PORT=;"
"PROTOCOL=TCPIP;"
"UID=name;"
"PWD=pass;",
"", "")

Все без результатов. Умоляю, двач, помоги. Вовек не забуду.
145 2006539
>>04923
Анон, ты сделал? Мне было бы тоже интересно как решается такая задача
146 2006551
>>06419
Сходное где навыки системного мышления пригодятся, но без мозгоёбства мелочными багами - инженеры, математика, музыка, архитектура.
147 2006641
>>06225
Не совсем понял тебя, передаешь хедеры при создании сессии и все, они будут отправляться с каждым запросом: aiohttp.ClientSession(headers=headers)
>>04923
Втупую пересылаешь все на клиента, а на клиенте используешь одну из миллиона DataTable.js
148 2006647
>>06529
Серьезно, чел? Ты прописываешь драйвер для подключения, драйвер не найден. Получается, что нужно нагуглить, как установить этот драйвер или какой правильный драйвер туда прописывать. Разве нет? Сколько IQ? Какая зарплата?
149 2006696
>>06647

>Сколько IQ? Какая зарплата?



А что важнее?
150 2006720
>>06696
Первое, IQ нормально уровень сообразительности показывает, ну а зарплата уже чисто справочная инфа.
151 2006778
>>06431
2к строк это прям очень много, я недавно целый проект написал за месяц примерно на 4к строк, полностью рабочий, а тут одна функция, уверен что все нормально сделал или накостылял так сильно? Или может это нормально, на питоне просто редко вижу такие файлы огромные
изображение.png400 Кб, 615x345
152 2006823
как мне через argparse совместить позиционные аргументы и необязательные типо
app 1
app 2 value1 value2 value3
153 2006890
>>06720
Вера в iq ничем не отличает от веры в гороскоп и гадания.
Ты типичная тупенькая внушаемая пидораха.
154 2006936
Для тех кто хочет вкатиться с нуля...
https://www.youtube.com/playlist?list=PLvb7ivodu7oQw9aaMbjdIxpSj_f3jJIaK
image.png1,4 Мб, 1400x859
155 2006944
>>06890
Скажем так: если твой IQ 70 ты это однозначно пруфает что ты дурачок (если конечно ты зачем-то специально не завалил тест или не писал его будучи больным/бухим); а есди твой IQ 130 то это не пруфает вообще ничего

Маньки очень любят выпячивать свой маня-IQ, просто потому что это одна из очень немногих сфер где они хоть чего-то достигли
156 2007105
>>06936
Интересно но слишком растянуто, эт надо было с класса пятого. А если быстро, если надо уже работать. Не, оч долго. И нудно.
157 2007226
>>06936
Дать видосам информативные названия автор не догадался.
158 2007247
>>06890
А ты типичная тупенькая антиинтеллектуальная пидораха.
IQ - это, буквально, уровень сообразительности, осознанности, способности грамотно принимать решения и следовать дисциплине. Американцы во время вьетнамской войны понабрали лоу-IQ дебилов из низших слоёв населения в армию однажды, потому что high-IQ население не хотело воевать - результаты были о ху еть.

>A man assigned to t-shirt printing shop was unable to understand alphabetization and had to pick out each letter for printing by scanning through the box one by one; a sergeant trained two men to drive military trucks somewhat successfully but they were too dangerous drivers to be used and were transferred out; another simply forgot to get back on the helicopters after a village search forcing a second retrieval mission; another was lucky enough to be sheltered by his sergeant in mess hall duties (until a mortar hit it, killing him); one played a prank on his squad mates, tossing a defused grenade at them two times, but on the third throw forgot to disable it; another wandered away from an ambush and wandering back, was killed by his squad; while yet another almost shot his commander with a LAW rocket when startled; another did kill his commander while on guard duty when he forgot to ask for the password before shooting; another forgot to put his rifle safety on (shooting a squad mate in the foot, who died); another tripped a booby-trap while not paying attention; another was captured by the NVA and went insane, screaming endlessly and defecating on himself while being beaten… It is unsurprising that many of them would be made to ‘walk point’, or ejected somehow, in addition to the constant insults and abuse—a new recruit was told the NVA would kill them all in a few hours, went insane from fear, climbed up a flag pole, and jumped off it; and another was beaten to death in Marine basic training.


Это ревью книги, полностью здесь https://www.gwern.net/Book-reviews#mcnamaras-folly-gregory-2015
IQ это просто биологический факт, на который влияет окружение во время взросления, наследственность от родителей, уровень дохода семьи, образованность, etc.
>>06944

>есди твой IQ 130 то это не пруфает вообще ничего


Пруфает как минимум способность кодить. А на самом деле, пруфает вообще всё.
158 2007247
>>06890
А ты типичная тупенькая антиинтеллектуальная пидораха.
IQ - это, буквально, уровень сообразительности, осознанности, способности грамотно принимать решения и следовать дисциплине. Американцы во время вьетнамской войны понабрали лоу-IQ дебилов из низших слоёв населения в армию однажды, потому что high-IQ население не хотело воевать - результаты были о ху еть.

>A man assigned to t-shirt printing shop was unable to understand alphabetization and had to pick out each letter for printing by scanning through the box one by one; a sergeant trained two men to drive military trucks somewhat successfully but they were too dangerous drivers to be used and were transferred out; another simply forgot to get back on the helicopters after a village search forcing a second retrieval mission; another was lucky enough to be sheltered by his sergeant in mess hall duties (until a mortar hit it, killing him); one played a prank on his squad mates, tossing a defused grenade at them two times, but on the third throw forgot to disable it; another wandered away from an ambush and wandering back, was killed by his squad; while yet another almost shot his commander with a LAW rocket when startled; another did kill his commander while on guard duty when he forgot to ask for the password before shooting; another forgot to put his rifle safety on (shooting a squad mate in the foot, who died); another tripped a booby-trap while not paying attention; another was captured by the NVA and went insane, screaming endlessly and defecating on himself while being beaten… It is unsurprising that many of them would be made to ‘walk point’, or ejected somehow, in addition to the constant insults and abuse—a new recruit was told the NVA would kill them all in a few hours, went insane from fear, climbed up a flag pole, and jumped off it; and another was beaten to death in Marine basic training.


Это ревью книги, полностью здесь https://www.gwern.net/Book-reviews#mcnamaras-folly-gregory-2015
IQ это просто биологический факт, на который влияет окружение во время взросления, наследственность от родителей, уровень дохода семьи, образованность, etc.
>>06944

>есди твой IQ 130 то это не пруфает вообще ничего


Пруфает как минимум способность кодить. А на самом деле, пруфает вообще всё.
159 2007261
>>07247

>Пруфает как минимум способность кодить.


Тащемта, коденгу на питоне научить можно любую мартышку, причём мартышку, не осилившую даже жс/пхп, о каком там айсикью ты размечтался, маня?
160 2007302
>>06641

>Втупую пересылаешь все на клиента, а на клиенте используешь одну из миллиона DataTable.js


Если готов помочь в личку, готов заплатить, если проконсультируешь, как это делать.
161 2007314
>>07261
По-моему си намного проще чем питон. В питоне всякие компрехеншены, функциональщина.
162 2007324
>>07314
Это разные проще, которые многие путают.
Си проще, но на нем сложнее решать сложные задачи.
Питон сложнее, но на нем проще решать сложные задачи.
163 2007327
Посидел на codewars, поделал задания. Понял, что процесс обучения остановился. Куча времени уходит на тонны говнокода, чтобы в результате увидеть, как народ решает тоже самое в 2 строки с неизвестными мне функциями.
Я конечно лучше стал обращаться со старыми знаниями, но новые от заданий приходят очень мало. Лучше пойду книжки читать.
164 2007331
>>07327
Там процветает писькомерство на тему краткости, но пользы от этого немного. Я просматриваю все популярные варианты и иногда бывает малаца, хорошо зделали, но не очень часто.
165 2007433
Как без шуму и пылу найти разницу между двумя байтстрингами от requests.get().content? Может, какие библиотеки есть, вроде difflib?
166 2007442
>>07433
А, внезапно, там есть diff_bytes.
167 2007565
>>06641

>Не совсем понял тебя, передаешь хедеры при создании сессии и все, они будут отправляться с каждым запросом: aiohttp.ClientSession(headers=headers)


Допустим у меня есть ещё и другие реквесты. Чтобы постоянно в юнит тесте не писать хедерс=хедерс может их можно как-то сделать глобальными и доступными сразу при запуске любого теста для которого нужны хедерс.
168 2007607
>>07331
У этих долбоебов вообще порой фетиш сделать как можно больше в 1 строку, даже когда это говно абсолютно нечитаемо
За такой код на проде будешь точно выебан
169 2007611
>>07261

>Тащемта, коденгу на питоне научить можно любую мартышку


Увы, нет вот совсем. Проблема в том, что мартышки не любят и не умеют думать, вот совсем. Без этого кодинг не работает, потому что в кодинге необходимо думать над тем, что делает твой код.

Питону проще обучить неусидчивых, потому что меньше надо ботать всякой инженерной хрени, чтобы получить рабочий код.
170 2007612
>>07611

>не любят и не умеют думать, вот совсем


Бля, поди подмойся, маня
Ты больно дохуя на себя берешь
На работе встречаю таких затупков что пиздец. Ахуеваю, как они вообще мышки взять в руки могут. Но тем не менее кодят и зарабатывают бабки

Умерь свое эго
171 2007750
>>06432
Знаешь, как на гитхабе подсвечиваются красным и зеленым изменения в файлах? Вот эту хуйню я называю дифф. У меня нечто похожее, только программа не отображает дифф, а записывает его в файл.
>>06778
Там нужно лезть в 40 разных таблиц с забористым SQL с регулярками и очень по-разному форматировать каждый полученный массив данных. Но да, если бы пришел профессиональный питонист, он бы эту хуйню раза в два точно смог сократить, я-то и не программист даже. Просто манагер, решивший автоматизировать работку.
172 2007945
начинаю вкатываться, пока ничего не получается.. Как вызвать метод из другого класса?

def parseFile(filename):
.....
class myplugin_t(qwe):
def run(self, arg):
matches = parseFile(filename)
....

ошибка: NameError: global name 'filename' is not defined
как определить 'filename'? нужно на Python 2.7.
173 2007959
Как в lxml собирать через xpath содержание только тех div'оф, у которых отсутствует определённый div-потомок?
По отдельности этих потомков я могу находить через такую штуку - doc.xpath("//div[contains(concat(' ',normalize-space(@class),' '),'class_name)]"). Проблема в том, что так невозможно отследить наследственные связи.
174 2007973
>>07945
уже не актуально, ползу дальше)
175 2008014
>>07945
ругается на строку:
regs = re.findall(regs_pattern, match['last_line'])
ошибкой: "tuple indices must be integer, not str"
regs=() - не помогает. Что нужно, чтобы tuple стал integer?
176 2008077
>>08014
Не tuple должен стать integer, а индекс для tuple.

У тебя, видимо, match - список (а не словарь), а ты ему в качестве индекса подаешь строку 'last_line'. Если нужен последний элемент списка, то делай match[-1]. Если last_line - целочисленная переменная, то делай match[last_line], без кавычек.
177 2008084
>>07327
Это нормально. Продолжай чередовать практическое решение задач с изучением стандарной библиотеки и типичных приемов, и будет прогресс.
178 2008090
>>08077
Вернее даже, у тебя match - не список (list), а кортеж (tuple).
179 2008126
>>06400
df['column_name'] = df['column_name'].astype('object')
df.at[0, 'column_name'] = [1, 2, 3]
Screenshot1.png39 Кб, 819x543
180 2008189
>>08090
как исправить-то?
https://disk.yandex.ru/d/9XSeJzunyZ6bZg
ругается на строку №32 :"tuple indices must be integer, not str"
181 2008263
Нужно чтобы один скриптик запускался один раз в день, что для этого нужно? Я так понимаю нужно поставить его крутится на сервере в вечном лупе, или это делается на уровне ОС сервера. Я вообще ньюфаг в этом
182 2008304
>>08189
В строке 29 надо for match in ret.

match в строке 23 это действительно tuple, который потом там распаковывается и пакуется обратно в словарь. match в строке 32 это уже такой словарь и есть. Так что, match['last_line'] - обращение по ключу к такому словарю.

Странный код, честно говоря. Кто-то надергал и склеил куски из чего-то вроде https://github.com/rmadair/windbg2ida/blob/master/windbg2ida.py
183 2008316
Нубвопрос, но все же, не могу нагуглить, как создавать "перекрестные" словари.
Допустим, нужно создать колоду карт из двух листов - в одном ранг, в другом - масть:
value = ["A", "2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K"]
suit = ["Hearts", "Diamonds", "Clubs", "Spades"]

Так вот вопрос: как максимально простым и лаконичным образом создать словарь, где каждому значению из листа value будет перекрестно присвоено каждое значение листа suit?
Например:
{'A': 'Hearts',
'A': 'Diamonds',
'A': 'Clubs',
'A': 'Spades',
'2'': 'Hearts ... и т.д. 52 раза}

Пробовал через dict.fromkeys(value, suit), но этот метод не распаковывает лист suit, а выдает:
A ['Hearts', 'Diamonds', 'Clubs', 'Spades']
2 ['Hearts', 'Diamonds', 'Clubs', 'Spades']
184 2008320
>>08316
import itertools
dict(itertools.product(value,suit))
readmepicafter.png55 Кб, 678x790
185 2008327
>>08304
спасибо, ошибка пропала, но не работает как должно - трасса в ИДА не подсвечивается)
Это тот (вернее, похожий - у меня есть более древняя версия, которая уже недоступна) код с гитхаба и есть (тот тоже не работает - не та версия IDA или python. На разных версиях заставить работать не удалось), просто все методы засунул в класс регистрации плагина.

что делает: с помощью windbg снимается трасса выполнения с исполняемого файла и затем в ИДА подсвечивается ход исполнения. Должно в итоге быть так: см. рисунок.
Состав метода fillInGraph одинаковый у меня и на гитхабе, т.е. ошибка где-то в логике манипуляции с данными снятой трассы..
п.с. если поможешь завести - зашлю пару сотен на телефон)
186 2008329
>>08316
Никак. Для каждого ключа в словаре будет одно значение. То есть, у тебя в одном словаре может быть, например, 'A':'Hearts' или 'A':'Diamonds', но не одновременно.

Если нужен список всех пар, то cards = [(v, s) for v in value for s in suits]
187 2008339
>>08327
отличие моего кода от гитхаба (если там рабочий) здесь:

у меня открытие файла трассы:
filepath = idaapi.askfile_c(False, ".", "Pin log file");
f = open(filepath,"rb" )
text = f.read()
matches = re.findall(pattern, text)

на гитхабе:
text = open(filename).read()
matches = re.findall(pattern, text)

может, состав переменной "text" отличается, т.е. код не эквивалентный? Код с гитхаба по открытию не работает, видимо, другой состав функция СДК питона. У меня при запуске плагина появляется окно выбора файла трассы и его открытие. код до сообщения "idaapi.msg("fillInGraph\n")" работает, сообщение появляется, т.е. парсинг файла проходит..
188 2008340
>>08339
быстрофикс:
на гитхабе:
text = open(filename).read()
matches = re.findall(pattern, text)
189 2008343
>>08340
быстрофикс:
на гитхабе:
text = open(filename).read()
matches = re.findall(pattern, text)
190 2008347
>>08329
Спасибо! Не знал, что List Comprehension можно использовать таким образом для двух списков, и что он будет работать именно так. И да, со словарем ступил, он и вправду был бы невозможен.
191 2008376
>>08339

>т.е. код не эквивалентный?


Эквивалентный так-то.

Я не работал с windbg, но так понял, что форматы генерируемых log-файлов могут быть разными: https://docs.microsoft.com/en-us/windows-hardware/drivers/devtest/trace-message-format-file
Так что, может быть, у тебя и код правильный, но то, что ты получаешь от windbg приходит немного не в том виде, что нужен.

Скинь пример лог-файла, который ты хочешь обработать.
192 2008379
>>08084
Спасибо.
193 2008384
>>08263
Если каких-то особо специфичный требований нет, то, конечно, такое делается на уровне ОС, обычно, там есть системы, которые запускают программы по расписанию. Что конкретно надо делать, зависит от ОС. Если у тебя там разновидность линукса, почитай про cron и systemd timers, в винде такая штука называется планировщик заданий (Task Scheduler)
194 2008430
>>08376
вот файл и его трейс:
https://disk.yandex.ru/d/ub_3do4q1Z8NqQ
Отркрывать в ИДА_6.8 (теоретически, должна подойти любая версия 6.х). Нужно установить на диск С питон_2.7 и закинуть плагин в соответствующую папку ИДЫ.
вот плагин:
https://disk.yandex.ru/d/9XSeJzunyZ6bZg
п.с. трейс снимается с помощью "Debugging Tools for Windows" под W7, он стандартный. Под W10 wdbg стал поддерживать js, новый плагин windbgida на гитхабе.. не проверял.
Screenshot2.png12 Кб, 1040x106
195 2008434
>>08430
вот что ответили на одном форуме:
Может, версия питоне не подходит? Странно.. ИДА6.х работает с питоном 2.7, название файла об этом говорит..должно как-то работать!
196 2008452
>>08434
Нет, дело не в этом, хотя я тебе поначалу то же самое написал про кортежи и индексы. Просто в том коде на гитхабе переменная с именем match используется в двух разных функциях в двух разных смыслах. В parseFile - это кортеж, а в fillGraph - это уже словарь. Когда ты эти функции запихал в одну, произошла накладка, которую фикс с for match in ret решает.
197 2008459
Ну мне понравилось
198 2008486
>>08452
спасибо, будe пытаться распихать обратно! Изначально переделываю "старый" плагин:
https://disk.yandex.ru/d/k5RiDSvaHCaxvA
была ошибка вызова метода из класса:
>>07945
199 2008492
>>08486
Попробуй заменить строку pattern = ... в гитхабовском коде или своем на вот это: https://pastebin.com/T0R8j2ry

У меня нет сейчас IDA под рукой. Не могу проверить.
200 2008508
>>08189
ебаные регулярки, бесят
201 2008511
>>08492
гитхабовский файл не совместим с ИДА6.8 - другая структура плагина, требуется def PLUGIN_ENTRY():
Если и изменять (максимально почти рабочий), то этот "оригинальный" файл:
https://disk.yandex.ru/d/k5RiDSvaHCaxvA
который тоже вызывает ошибки
202 2008589
Лучше обьясни, как можно серьезно что-то реверсить, и реально спотыкаться на простых задачках вроде питона или регулярок.

Я всегда завидовал способности настоящих инженеров разобраться на ходу с такой хуйней. Их научили архитектуре базовых процессоров вроде 8080 или з80, их научили базовой цифровой схемотехнике, их научили си, как связывающим всё это, дальше лишь дело желания.
Но с другой стороны, на виду истории всяких кулхацкеров-кардеров, в 95% полнейших селюков и дилетантов, хуй проссышь, короче.
203 2008612
>>08589
Да я любитель-самоучка, ни разу не программист (немного на pb пописываю и asm читаю, могу в студии исходник собрать). Ни образование, ни работа никак не связаны с "хобби", на которое ещё и времени не хватает..
204 2008615
>>08612
Пуребасик и асм?
Со спектрума дид штоле?
205 2008646
>>08511
Попробуй так: https://pastebin.com/Kdpcenmk

В принципе, твой пример лог-файла парсится. Как оно там раскрашивается или нет - не знаю, так как на моей бесплатной версии IDA нет питона.
206 2008649
Нужно сгруппировать данные в список по дням в датафрейме в нескольких колонках.
Для одной работает
df.groupby(pd.Grouper(key="dates", freq="D"))['column1'].apply(list).reset_index()
Но если взять две
df.groupby(pd.Grouper(key="dates", freq="D"))[['column1', 'column2']].apply(list).reset_index()
то получается в каждой строчке список из названий колонок вместо данных вот так
['column1', 'column2']
['column1', 'column2']
['column1', 'column2']
Как быть?
207 2008659
>>05662
Рекомендую обратить внимание на pyo3
https://github.com/PyO3/pyo3
208 2008699
>>08649
df.groupby(pd.Grouper(key="dates", freq="D"))[['column1', 'column2']].agg(list).reset_index()
209 2008706
>>08699
Спасибо няша. Натыкался на функцию .agg, но так использовать не догадался бы.
210 2008828
>>08646
ида лежит на торрентах:
https://yandex.ru/search/?text=ida 6.8 torrent&lr=110907&src=suggest_T
ошибок запуска плагина нет, но дерево не закрашивается. Подозреваю из-за того, что отпарсенное значение "matches" не доходит из процедуры "parseFile" в "fillInGraph". Процедура "parseFile" ничего не возвращает, в результате в "fillInGraph" значение "matches" пустое - новая локальная переменная (кортеж/список или чем он там является)..
211 2008842
Что такое кубкрнетис ребята и зачем нужно?
Что означает когда говорят дженкинс в контейнере в дженкинсе? Это какая-то новая мода?
212 2008849
>>08842
да, типа смузи в коворкинге
213 2009614
Это такой троллинг? В чём я не прав то? Почему оно добавляет данные только со второго раза?
214 2009623
>>09614
Подозреваю, что дело в буфферинге.
Можешь добавить принудительный file.flush(), а потом пиздуй читать документацию, как там всё устроено.
215 2009642
>>09623
Да вряд ли такое должно происходить. Я же этот файл до этого не трогал. Да и если впихнуть flush, не особо помогает.

Может дважды вызывать врайт это не плохая идея?
216 2009661
>>09642
Замечательно помогает.
Запускаем такой код https://ideone.com/n94Fjf
Сразу при запуске пишется test и висит, потом жмем ctrl+c, валится эксепшн, буфер сбрасывается и видим test2.
217 2009662
>>09614
Через контекстный менеджер попробуй и с режимом работы поиграйся.
218 2009668
>>09614
Зачем ты переоткрываешь файл каждый раз? Закрывать файл тоже надо.

У тебя проблема в том, что ты открываешь его как "w+", из-за этого указатель каждый раз на начало ставится и твой TEST перезаписывается.

Тебе надо открывать файл как "a", то есть append. Тогда указатель будет на конец файла указывать.

Но на самом деле тебе надо куда сильнее переписывать всё это дело.
219 2009676
>>09614
>>09668
И дополню
Проверка в строке 51 на самом деле лишняя, так как домены без точки не пройдут проверку на строке 53

Строки как в 53 лучше записывать как
site_name not in ["bloomberg.com", "nytimes.com"]

имя файла лучше получать используя os.path.join
file_name = os.path.join(dict_name, site_name.split('.')[0])

С файлом работать через контекстный менеджер
with open(file_name, 'a') as file:
____file.write("TEST")

тогда автоматом файл будет закрываться
220 2009703
>>09668
Даже с "a" не работает. Только если делаю
write
flush
write
Но так оно и с w+ работало.

За ошибки в принципе пофиг, это один из этапов проектов, что-то на будущее сделано, что-то я скоро удалю. Хотя за джоин почитать стоит.
221 2009710
Иногда смотрю в access логи сайтика, который сдал недавно, меня аж в пот бросает от этих логов, сайт не рабочий и все логи состоят из чего-то похожего /shell?wget+147.153.15.85:8080/strashniy_script+/tmp, успокойте меня пожалуйста, я вроде и понимаю что это боты, но интстинктивно иду проверять /tmp, конфиги nginx’а и т.д
222 2009726
>>09710
Такие боты генерируют дохуища логов, особенно в пропаленных диапазонах айпи. Что по хттп, что по ссх.
Можешь поставить себе какой-то fail2ban для спокойствия.
223 2009844
>>08828
кажется, разобрался:
1. имхо, автор плагина усложнил без необходимости плагин, который пишется из трёх строчек, так как:
-вывод лога wdbg можно сильно упростить командой "par 0xdeadbeef" или другой, отключающей вывод регистров
- нам от лога нужно только знать выполняется ли jmp/jne/jxx (то есть трейсить, проверять опкод функцией "GetMnem" на "jmp/jne/jxx") и подсвечивать функцией "idc.SetColor(0x41705B, CIC_ITEM, 0xBFBFE4)", где первый аргумент - адрес опкода
2. независимо от того, работает ли парсинг.. скрипту нечего подсвечивать, потому что в логе wdbg отсутствуют подходящие адреса! - все адреса в вызываемых модулях! Возможно, в новых версиях поменялся вывод wdbg.

Спасибо огромное за помощь!
224 2009879
Есть какой-то курс или задача, которая позволит держать Большую часть знаний в голове активными? У меня пока так, выучил одно, забыл второй, повторил второе забыл третье и то.
image.png24 Кб, 453x262
225 2009897
Запутался с импортами, аноны.
Есть два скрипта в одной папке. Из одного импортирую в другой как на скрине. Все работает, но VS Code дает предупреждение. Что не так?
226 2009898
>>09897
Ну наведи мышкой и прочитай, гений блять
227 2009902
>>09898
Блять, я прочитал "Import "product" could not be resolved". Спрашиваю, потому что все работает. Интересно, это типичное поведение для VS Code или нужно заморочиться и исправить?
image.png12 Кб, 400x248
Вася !pgceiWlm/c 228 2009905
Подскажите, пожалуйста, есть модель и связь на саму себя. Когда я пытаюсь добавить поле 'parent' в forms, то он пишет, что не существует у этой модели такого поля. Заранее спасибо.
229 2010003
>>09905
UPD: Нашел логическую ошибку, все поправил.
230 2010488
>>09726
Слушай, давно хотел узнать, есть какой-то список классических приложений для сайта, которые вот как fail2ban, банят при ддосе, ограничивают читая логи, качают много медиа, допускают только проверенные юзерагенты и т.д, наверное еще много чего есть полезного, подскажи
Monty Hall.PNG34 Кб, 595x885
231 2010566
>>03913 (OP)
Сап двач. Начал учить питон буквально 4 дня назад. Пока тренируюсь, пишу всякие кодики в рамках моих знаний, а их очень мало пока.
Вот пикрелейтед код. Он должен симулировать парадокс Монти Холла. В данном случае я попытался написать случай, когда после вопроса ведущего дверь меняют. Тоесть должно быть около 67% выигрышных ситуаций. Но прогоны выдают около 33%. Значит где то в кусках if, elif семантическая ошибка.
Если кому не лень, посмотрите может подскажите где там я ошибся.
232 2010579
Как озвучивать текст кроме как через встроенного в винду TTS ?
Я нашел модели голосов
https://github.com/snakers4/silero-models#text-to-speech
но не знаю как их прикрутить. Нашел вот такой пример
https://colab.research.google.com/github/snakers4/silero-models/blob/master/examples_tts.ipynb#scrollTo=indirect-berry
но тут используется display и, как я понял, обрабатывается долго из-за того, что это удаленный серв. Можно ли как-то вшить его себе в винду или просто запускать стационарно, если скачаю файл этого TTS?
233 2010589
>>10566
Условия неправильны. Получается choiz == ('A' or 'B')
надо x == 'A' or x == 'B' или как вариант x in 'AB'
16090088677230.jpg67 Кб, 500x742
234 2010592
>>10589
Спасибо огромное
235 2010644
Аноны, вроде достаточно много прогаю на питоне и понимаю ооп, но есть такой вопрос, в этих ваших джавах есть очень много всего и интерфейсы и полиморфизм типов и из-за этого кажется что питон это урезанный язык, но если копать глубже, то как по мне все это дедовское брюзжание и нахер не нужно, все чего достаточно это множественное наследование, возможность оверрайдить методы и сам принцип объектов, в чем я не прав?
236 2010745
>>03913 (OP)
Мужики, что надо знать по джанге чтоб устроится джуном?
237 2010746
>>10644
Есть два подхода для реализации идей ООП, один подход всё делать через интерфейсы, второй подход через "протоколы", он же duck typing.

Когда язык компилируемый, то там чисто технически проще через интерфейсы всё. Ты передаёшь в функцию указатель на интерфейс, то есть указатель на таблицу адресов функций, которые что-то делают. Эту таблицу надо формировать, вот это и есть интерфейс.

Когда язык динамический, ты можешь получать эти функции по имени. Тебе не нужно формировать интерфейс, тебе достаточно, чтобы был нужный набор методов у объекта, это и называется протоколы.

У каждого подхода свои плюсы. Протоколы значительно проще, более гибкие. Но менее строгие, и самая большая проблема это конфликт имён. Два разных протокола могут хотеть работать с одинаково названным методом, но который работает по-разному.

В принципе, общая логика такая, что чем больше проект, тем актуальнее, чтобы там была строгость, хоть из-за неё и большой перерасход кода.

То, что хорошо для небольших проектов, там на десятки тысяч строк максимум, может приводить к коллапсу на мегапроектах в сотни тысяч и миллионы строк.

На питоне всё-таки мегапроектов нет.
238 2010753
>>10644
Ну так-то в питоне тоже есть и полиморфизм и интерфейсы (например, через декоратор abstractmethod из abc). Так что, трудно назвать его урезанным в плане ооп. Парадигму "всё есть объект" он вполне реализует. Чего нет - так это строгой инкапсуляции (нет настоящих private свойств или методов), что Гвидо сделал намеренно ( "we're all consenting adults here").
изображение.png40 Кб, 589x502
239 2010776
Вопросы по argparse
1 как установить чтобы аргумент -h вызывался при запуске скрипта без аргументов?
например python app.py выдает тоже что и python app.py -h
2 почему функции устанавливаемые в set_defaults(func=) требуют аргумент?

код: https://pastebin.com/gUHNWmjV
240 2010785
>>10753
Я кстати понял, что был лучшего мнения о джаве, чем вот она заслуживает. На джаве сильно сложнее fizzbuzz не писал, на плюсах ООП писал, но давно и забыл уже.

Посмотрел, проблема с конфликтом имён актуальна и для джавы. То есть если в двух интерфейсах есть метод с одинаковым именем, но разный по сути, то будет большая проблема.

А раз так, то весь смысл интерфейсов теряется, никакого профита. Просто технология, как это реализовать в статическом языке, не актуальная для динамического языка как питон.

Хотя ХЗ, возможно я чего-то не знаю. Наверное есть решения для этих проблем на джаве, должны быть.
241 2010826
Понимаю, что вопрос не по питону (и не по джанге), но как реализовать выпадающий список из 50+ тысяч элементов в шапке колонки таблицы? Сделал это через DataTables, как выше писали, и при загрузке страницы, если попробовать раскрыть такую эболу, то сайт подвисает. Наверно есть более правильный способ (кэш или динамическая подгрузка), нормальный за 2 дня не нагуглил. Прошу помощи. За более подробную консультацию в личку, за деньги, ибо чую, что не тяну, но проект сдать хочу (и уволиться)

Тот самый долбоёб, который решил себя попробовать в роли питухон-разраба
242 2010856
>>10826
Ты ебанутый, и что пользователю делать с твоим выпадающим списком? Делой текст инпут с автокомплитом.
chart.jpeg111 Кб, 2080x820
243 2010870
Потыкал в матплотлиб, открыл обучалку и мне дико понравилась визуализация данных.
Сам изучаю чисто по фану без особой цели устроиться, но вот интересно, этим в рахе можно заработать(питон, скьюэл, визуализация, может панда с нимфи и прочее туда же) ?
244 2010871
>>04556
После "а" должна быть h иначе
245 2010872
>>10870
Да, это называется Business Intelligence (BI), погугли вакашки, голодным не останешься.
12345.jpg86 Кб, 676x732
246 2010879
>>10872
Ха, прикольно, все есть кроме интрументов, хотя там буквально написано в их описании "Позволяет заниматься БИ без вмешательства айти департмента" кек, ну и джаваскрипта тоже нет, ну и нахуй его.
247 2010900
>>10856

>и что пользователю делать с твоим выпадающим списком?


Я ебу что ли, так в тз написано. Значит попробую сделоть инпут с автокомплитом, а потом уволюсь. Спасибо, за идею.
248 2011091
>>10826
Как тебя взяли тогда, если ты не могешь?
249 2011135
>>10592
твой котёнок?
250 2011236
>>11091
Сказали, что питоновских знаний хватает, а джангу и веб смогу изучить за месяц для решения нужных им задач. Но вот неделю уже пытаюсь решать, и с джангой более-менее понятно, но веб темный лес.
16093392910980.jpg248 Кб, 1199x1600
251 2011325
>>11135
Нет это интернетные котенки
252 2011383
Знаете, почтенные. Изначально я хотел написать пост в постмодернистской манере и взять картинку с сортырно-фекальным няряльщиком, но передумал.

Так вот. Господа!
Заинтриговало меня существование этого вашего Питона.
Дайте краткое заключение о практической целесообразности применения и смысле существования Питона.
Для человека, почти ничего не понимающего в программировании.
Буду признателен. Мой интерес искренний, если что.

Предпосылки:

- у меня на Питоне подмастерье пишет, отзывается о Питоне, как о годноте;
- я сам не занимаюсь промышленным программированием (в том смысле, в котором программа является отчуждённым промышленным продуктом, а не промышленным инструментом, связанным с технологическим процессом);
- сильное влияние на меня как инженера оказал Си,
- ощущается мной избыточная детализация программы на Си — хочется решать задачу ближе к задаче, а не к адресной арифметике.
lUOt8Dulwy8.jpg46 Кб, 406x514
253 2011385
>>11383
Волновался. Даже картинку забыл. Извините!
254 2011396
>>03913 (OP)
Пацаны, там чувак с канала диджитализируй выложил свой курс по веб-технологиям, он вроде сам хорошо рассказывает
https://www.youtube.com/watch?v=Cug9a8Aw2W0
https://stepik.org/course/96018/promo
Я даже бабло отложил под его курс(10к) но его цена(20к) че-то сильно на жабу давит
Вопрос: как думаете, как скоро появится на сливах и трекерах?
255 2011398
>>11325
Лол, у тебя целый пак?
256 2011400
>>11396
нужно срочно взломать эти курсы.
257 2011405
>>11400
Согласен, я пошуршал по торрентам, как-то редко со степика сливают, я так понял только официальные курсы от хозяев степика в основном слиты
Интересно, хотя бы в течение месяца появится ли на торрентах
258 2011407
>>11383
Замечательный прикладной язык, очень приятный в изучении. Не знаю, насколько тебе это надо и какие задачи ты собираешься решать, но можно попробовать, если интерес есть.
259 2011408
>>11383

>Дайте краткое заключение о практической целесообразности применения и смысле существования Питона.


>Для человека, почти ничего не понимающего в программировании.


Ну ок:
Питон это пиздец как круто
Это строго и свободно одновременно, стройно и красиво
Это зрело и вполне молодёжно
Это дофига возможностей, чтобы писать хорошо и быстро
Это лучшее комьюнити, хорошая документация

Думаю, этого достаточно.
260 2011412
>>11396
Это тот чел, который в своем видении необходимого для джуниора вывалил список аля фулстак?
261 2011415
>>11412
Он для бэкэнда на питоне составлял список, про фронт там было сказано что будет плюсом знать html/css/js по верхам. линукс базово и тд
Че нет то в современных реалиях? С голым питоном наврядли куда джуном возьмут
262 2011416
>>11396

>чувак с канала


Интересно, он сам жестикулировать учился, вот все эти жесты учил и тренировал, или может есть какие-то специальные курсы для влогеров? Сколько стоят такие?
263 2011417
>>11407
Мелкая автоматизация. Там, где клей между готовыми утилитам (вроде bash) становится громоздким и неудобным, т. к. нужно дописывать много. Числодробление, матрицы, линейные пространства, оптимизационные задачи. Там, где matlab предоставляет слишком сложные абстракции.

>>11408

>Это лучшее комьюнити, хорошая документация


На старте хотя бы мне будут доступны русскоязычные источники?
264 2011420
>>11396
Когда вы успокоитесь со своими поисками ИДЕАЛЬНЫХ курсов?
Берешь любой популярный курс или книгу и хуяришь. Там одна и та же базовая хуйня, дальше надо лезть вглубь самостоятельно.
265 2011421
>>11415
Если ты занимаешься чем-то, что хоть отдалённо имеет отношение к интернету, но не знать html/css хоть на базовом уровне это просто полное дно. JS тоже как-то знать надо. Вопрос в глубине этого как-то.

Ну в любом случае представление о вёрстке необходимо, как и понимание, как JS работает с браузером и бэкендом.
266 2011427
>>11417

>Числодробление, матрицы, линейные пространства, оптимизационные задачи. Там, где matlab предоставляет слишком сложные абстракции.


Там тебе придётся учить numpy и другие пакеты, с ними бошку сломать придётся и это не совсем питон, строго говоря. Но правда на других платформах не проще.

ХЗ, что в матлабе, подозреваю что примерно тоже самое.

>На старте хотя бы мне будут доступны русскоязычные источники?


Что-то есть и на русском.
267 2011428
>>11427
Тащемта все эти пандасы и нампаи это и есть прикрученный к питону матлаб, р и прочая околонаучная тряхомудия.
269 2011432
>>11430
Ждем курсы по правильному дрочению жопы для вебкама.
270 2011433
>>11421
Ну то есть он, ты и я сошлись во мнении.
Чего бухтеть то
271 2011436
>>11420
Я в том то и дело что базовую хуйню уже знаю
Хочется более глубоко про устройство интернета, протоколы, безопасность
Там целая глава про питон, за нее особенно платить впадлу, потому что за то время, пока он целый год этот курс высирал, я уже 100 курсов посмотрел и напрактиковался
272 2011446
>>11436
Ну по содержанию там очень слабенько всё. Пара крепких книг даст тебе в сто раз больше знаний.
Например.
https://www.amazon.com/gp/product/1718500408
https://www.amazon.com/dp/1118026470/
Последнюю особенно рекомендую, вся суть вебдева, но с обратной стороны, лол.
16103787192710.jpg160 Кб, 960x1280
273 2011448
>>11398
Нет, не пак, но немного есть
274 2011451
>>11427
>>11408
>>11407
Спасибо!

Вот, что вынес:

> прикладной язык


> приятный в изучении


> строго и свободно одновременно


> стройно и красиво


> писать хорошо и быстро

275 2011452
>>11436
Моё мнение, курсы могут быть полезными только как обзорные, о чём-то рассказать в простой форме, показать, как какой-то инфраструктурой или инструментами пользоваться. Чтобы уже дальше было понятно, куда копать.

Если нужно глубже, то надо или смотреть университетские лекции, или читать книги.

Про более глубокое устройство интернета лучше поискать университетские курсы в открытом доступе. Хотя хз, не могу ничего конкретного порекомендовать. Но совершенно точно не обычные коммерческие курсы.

Это довольно широкая тема.
276 2011493
>>11420
Это какая-то русская проблема. Может из-за того что у нас принято 90% быдла ломиться в вышку где учиться то и не особо сложно. Поэтому все люди автоматом подразумевают что тебя будут учить корифеи, деды, опытные ветеренары своего дела. В США, например, либо плати 100к в год, либо будь гением, либо учись сам, самое дорогое что там есть - буткамп, а так все курсы(скорее интерактивные сайты) это всякие кодакадеми, джет брейнс, удасити - стоят 200 баксов в год. Такой хуйни чтобы американец платил условные адаптированные под него 200к рублей и учил какую-то дичь год от ОПЫТНЫХ ПРЕПОДАВАТЕЛЕЙ(которые не гуглятся, и конторы в которых они работают якобы вообще не существуют) это просто нонсенс.
По факту человеку для обучения адекватному достаточно лишь списка технологий и библиотек которые надо осилить. Голого питона как бы и не существует, что там иф, ваил, класс, деф, фор, лист/дикт/сет/тупл и что я там забыл? Все остальное - библиотеки, sql, джсон, хтмл+цсс+жс, гит.
Курсы на которых тебе как работает гит рассказывают месяц или учат делать первый сайт с пиццами взятыми из стока гугла 6 месяцев, ну не смешите
277 2011509
>>11493

>Голого питона как бы и не существует, что там иф, ваил, класс, деф, фор, лист/дикт/сет/тупл и что я там забыл? Все остальное - библиотеки, sql, джсон, хтмл+цсс+жс, гит.


Голый питон это ещё импорты, классы и объектная модель, метаклассы, стандартная библиотека и связанные с этим подходы вроде логгинга, тайпинг, itertooks, разные докстринги, конкурентность, тестирование. Куча своих паттернов проектирования.

То есть как бы освоить язык и уметь писать на нём это на самом деле не "пара недель" даже для опытного программиста. Иначе ты будешь писать на питоне как на Си или ЖС.

>По факту человеку для обучения адекватному достаточно лишь списка технологий и библиотек которые надо осилить.


Нужна программа обучения, как все эти технологии осваивать. Вот как освоить технологию "параллельного программирования"? Или даже ООП? Это всё длительный и многоэтапный процесс.

Правда курсы в этом мало помогут. Надо делать поправку, что курсы для тех, кто хочет чуть заплатить и пассивно поучиться. Просто таких большинство. А нормальное образование это совсем другие ресурсы, другие затраты и другая подготовка.
278 2011522
>>11493
Мань в США без вышки в гугл ты точно не попадешь
Ты видимо даже не знаешь слово синтаксис
279 2011533
>>11509

>Голый питон это


Нет, ты молодец конечно, но вот только на курсах типа скиллбокса голвый питон это как раз то что я написал, а все что ты пишешь там дается просто как упоминание.

>Нужна программа обучения, как все эти технологии осваивать.


Не нужна, такого не существует, и программа обучения именно как педагогический/методический термин из образования к тыканью в библиотеку не применим вообще. Если человек хочет учить программирование по учебной программе - добро пожаловать в вуз, где разваливающийся дед тебе будет 2 года задвигать базовую физику и математику, потом 2 года будет рассказывать про транзисторы и параллельно будешь делать какую-то хуйню на си или плюсах, в итоге на 4м курсе когда ты напишешь охуенную приложуху распихивающую студентов по категориям в датабазу и увидишь этот же самый проект в джетбрейнс под тегом МЕДИУМ ДИФФИКУЛТИ станет немного понятнее почему это не самый эффективный способ осилить именно язык, а не набор хуйни в виде глубокой информатики, сигналов, кодирования и прочей шелупони абсолютно не нужной 99% времени.
>>11522
В сша для американца без американской вышки или ты про русского без русской вышки который хочет в гугл?
В гугл не нужна американская вышка, берут так же по опыту, стажу, технологиям и собесу.
В сша менее 8% людей идет в вузы, выкинуть половину вузов которые не обучают информационным технологиями, выкинуть 80% факультетов которые не являются пригодными для ФАНГ, останется дай боже сотка специалистов с вышкой в год, как все фейсбуки, гуглы, амазоны, цитадели, плюс государство наберет себе программистов если их нихуя не выпускают вузы, а?
280 2011552
>>11533

>как все фейсбуки, гуглы, амазоны, цитадели, плюс государство наберет себе программистов если их нихуя не выпускают вузы, а?


Раскрываю секрет века: русские, индусы, украинцы
По тому, что ты говоришь, видно, что тебе никогда не доверяли более или менее серьезную задачу.
Способности ответственно выполнять задание можно научиться только, если тебя раньше ебали за плохой некачественный результат. Поэтому преподы и менторы имеют свою копейку
281 2011587
>>11533

>В гугл не нужна американская вышка, берут так же по опыту, стажу, технологиям и собесу.


Нет, можно попасть в ФААНГ без вышки, но, там примерно 90% работает с вышкой.

>В сша менее 8% людей идет в вузы


Сам придумал? В США свыше трети населения возраста 25+ имеют степень бакалавра. 13% это магистры и старше.

>разваливающийся дед тебе будет 2 года задвигать базовую физику и математику


Иди в нормальное место и параллельно учись сам.

Образование системно. Нельзя полноценно осваивать базы данный, не умея в алгоритмы, например. То есть только на уровне маками можно, которая не понимает, что такое сложность, сложность выборки, почему какие-то операции дорогие, а другие нет, что такое нормализация, когда она нужна, а когда не нужна.

И куча всего ещё.

Да, если чел не хочет учиться, то в ВУЗе его ничему не научат, это факт. То есть сдаст экзамены и зачёты, но применять знания не сможет. Если хочет учиться, то помимо того, чтобы дополнительные курсы брать по выбору, ещё и самому доучиваться придётся, это тоже так.
282 2011736
>>11405
будем следить внимательно!
Сообщи если что появится, ок?
>>11448
Где ты их находишь?
283 2011904
Не совсем питон-релейтед вопрос, скорее по алгоритмизации.
Есть файл А, АВ и В.
А — csv файл, нужно привести в нормальный вид
В — xls файл, нужно перевести в csv формат
АВ — соответственно нормализовать и перевести в csv

Как это грамотнее сделать?
Меня просто смущает момент АВ, потому что я сначала записываю csv файл, ранее бывший xls, а потом планирую его же перезаписывать writerow'ом.
284 2011913
>>11904
Ты как-то коряво обьяснил.
Зачем перезаписывать, если можно за один заход?
285 2011922
>>10785
Нет такой проблемы в жаве, хз откуда ты это взял. Имплементишь в объекте два интерфейса с одинаковыми именами методов - обязан предоставить два метода. Главное, чтобы аргументами методы отличались.
А если у тебя два интерфейса и с одинаковыми методами, и аргументами внутри, при этом по смыслу работы не являющиеся альтернативными реализациями одного интерфейса, то это очевидный признак плохого дизайна системы.
286 2011950
>>11913

> можно за один заход


Хау? Не записывать содержимое xls в файл и просто в оперативе его крутить?

Короче как выглядит задача:
У меня есть инпут папка. В ней А, В или АВ, либо все вместе. Мне нужен класс с минимальным повторением кода, который бы мог на выходе дать в папку аутпут нормализованный файл с тем же названием.
Процесс нормализации, вкратце, перевод файла из вида
+,C1,C2,C3,C4
R1,VVVV
R2,VVVV
R3,VVVV

В вид
R1,V,C1
R2,V,C1
R3,V,C1
R1,V,C2
R2,V,C2
...
287 2011953
>>11950
Ну так в любом случае надо вычитать весь файл, чтобы переформатировать так, не? Так зачем дважды ходить?
А с названиям в принципе легко. Читаем file.csv, пишем file.csv~, потом в конце rename и он заменяется.
16131685336350.png313 Кб, 749x749
288 2011976
>>11736

>Где ты их находишь?


лол в /b
ну я там сидел 4 года, два месяца назад перестал туда заходить, а на прошлой неделе начал учить погромирование и пришел сюда.
но в /b больше не хожу, потому что я старый уже и мне нельзя прокрастинировать
289 2011977
В языке Python есть какие-то рекомендации по использованию одинарных и двойных кавычек? Может есть какие-то негласные правила, о которых я не знаю? Мне как программисту на языке SQL хочется везде писать одинарные, но в коде других людей чаще вижу двойные.
290 2011980
>>11953
У меня было еще решение элегантнее, если файл xls и ему нужно нормализация, то сохранять его csv с постфиксом. После нормализации сохранять файл с правильным названием общий метод для изначально csv и 'бывших' xls файлов и os.unlink по файлу с постфиксом, если такой существует.
Но один хуй я сейчас все переписал, теперь у меня все методы возвращают лист листов, а записывается файл лишь в конце мейн метода.
291 2011982
>>11977
Одинарные и никак иначе.
292 2011995
>>11976
там тред с котятами?
в б одна молодёжь тутусется в основном? битарды или кукбои?
293 2011997
>>11982
С чего вдруг?
294 2011998
>>11977
работают они одинаково.
можешь одинарные ставить
295 2012005
>>11977
Одинарные ближе перловикам, пехопистам и может кому ещё, потому что там они не интерполируются. Ну и без шифта пишутся, тоже заебись.
296 2012007
>>11977
Двойные кавычки гавно. Ну представь тебе надо в логи дампнуть `foo = "bar"`. С двойными заебешься внутри слэши прописывать
297 2012012
>>11976
Напиши парсер котеек из /b
298 2012025
На чем делают графические приложения на Python? Сделаю скромную петуху для души.
Хочется, конечно, чтобы штука была относительно популярная и с большим комьюнити, легкая для вката, изящная в реализации, сильная в возможностях. Но чем-то можно и пожертвовать.
Вроде как PyQt самое популярное, как оно? Или еще что-нибудь?
299 2012049
>>11977
В PEP8 указано, что рекомендаций по выбору нет.

Я для себя придерживаюсь принципа, что для отдельных слов, символов, констант и т.п. одинарные кавычки, а когда какие-то фразы или предложения, то двойные.

Так довольно удобно.
300 2012188
>>12025

>На чем делают графические приложения на Python?


Почему именно на питоне? Питон - топовый язык для датасаенса и еще некоторых областей, но графику на нем лучше не делать. Это долго, сложно и бесполезно с точки зрения приобретенных навыков.
301 2012227
>>12188
Понимаю прекрасно, мне для души. Поэтому и хочется минимум усилий потратить, сделать свою хуйню и успокоиться.
302 2012371
Хелп, не работает ctrl+shift+/ в пайчарме чтобы закомментировать блок кода, перебрал все ебаные слеши на клаве, с разной раскладкой, а, бля да почему
image.png2 Кб, 317x44
303 2012372
>>12371
Вкатиться за семь дней без смс?
304 2012374
>>12372
Почему не активна для блока кода?
wdo1500.jpg16 Кб, 500x327
305 2012377
>>12374
Потому что в питоне нет блочных каментов?
306 2012830
Есть некоторая функция loads(data: bytes) -> Union[dict, list, bytes, int],
которая парсит некоторый формат данных и возвращает питонячий объект. Объект может быть словарем/списком/байтовой строкой/целым.

Так же есть еще один метод read_data(self) -> dict: return loads(self._raw_data), который парсит данные функцией loads, точно зная что вернется словарь, а не что-то другое. Но на "-> dict" mypy ругается:
error: Incompatible return value type (got "Union[Dict[Any, Any], List[Any], bytes, int]", expected "Dict[Any, Any]")

Если у метода read_data поменять возвращаймый тип на Union[dict, list, bytes, int], то ошибки посыпятся уже в другом месте. Например при обращении к методу __getitem__, т.к у интов его очевидно нет.

Как в таких случаях раставлять анотации типов? М.б можно как-то явно указать mypy что конкретно в этом месте вернется словарь?
307 2012888
Сап

Есть json списочек
Кодю json[1] - получаю информацию, все заебись

В этом json списке сто элементов, у 20 из них одинаковое поле Id

Как мне получить все элементы у которых одинаковое поле id из целого json списка?
308 2012892
>>12830
Хороший вопрос, самому стало интересно
Наверное это хуевая функция если она умеет возвращать столько разных типов,
Если не ошибаюсь, в компилируемых языках можно указать один возвращаемый тип или интерфейс, и в каком нибудь c# нужно было бы написать разные конструкторы для разного типа данных, и вернуть разных наследников класса с функцией read_data.
Наверное тебе нужен класс-фабрика который возвращает объект с уэе распарсенными данными
309 2012895
>>12888
Ты можешь например отсортировать списочек
sorted(json, key=lambda x: x['id'])
а потом groupby из модуля itertools сгрупировать с таким же ключом
и там уже можно итерироваться по групам
310 2012900
>>12830
Попробуй как-то так поиграться:
from typing import cast
from typing import Match
.
.
.
def read_data(self):
return cast(Match[dict], loads(self._raw_data))
311 2012912
>>12900

> def read_data(self): -> dict


fxd.
312 2012968
Есть список A, который пополняется в цикле.
Я могу этот список засунуть как значение в словарь, например:
dict1['1'] = A ?

Подозреваю, что тут что-то не то, поскольку у меня у значение добавляется в виде пустого списка.
{"1": []}

Что за херня?
313 2012974
>>12968
Ах, лень тебе рассказывать ссылочную модель...
Ты добавляешь в словарь ссылку на список. Потом ты этот список очищаешь в цикле, угадал? Получаешь, что значение словаря ссылается на пустой список.
314 2012977
>>12974

>Потом ты этот список очищаешь в цикле, угадал


Ванга, залогинься.
В общем, где я прорукожопил инб4 при рождении и как всё-таки этот список добавить в словарь?
315 2012981
>>12977
Попробуй D[x] = [i for i in A] в конце каждой итерации.
316 2012983
>>12977
Если хочешь чтоб лист остался в дикте отдельным объектом делай
dict1['1'] = A.copy()
317 2012991
>>12981
>>12983
Спасибо, анон(ы).
318 2013081
Аноны, сложно рандому с улицы изучить Data Science? Заебали уже чуть ли не с каждой дыры об этом говорить. Цены на курсы пиздецовые, зато потом лохам обещают золотые горы.

И, как я понимаю, Data Science это и аналитика данных и машинное обучение? или нет?
319 2013087
>>13081
Это в первую очередь математика: линейная алгебра, мат. анализ, мат. статистика
Если с этим у тебя заебись, то изи
320 2013088
Уважаемый анон, как мне отсортировать по product_price структуру такого вида:
[
Product(product_name='n1', product_price='14.88'),
Product(product_name='n2', product_price='19.08',
Product(product_name='n3', product_price='9.11')
]


Не могу понять, как достучаться до свойства product_price.
321 2013090
>>13088
a.sort(key=lambda prod: float(prod.product_price))
322 2013097
>>13088
sorted(lst, key=lambda x:x.product_price)
323 2013118
>>13090
>>13097
Аноны, сорян. Это был класс, унаследованный от NamedTuple и там сортировка осуществляется через
from operator import attrgetter
и дальше
a.sort(key=attrgetter('product_price'))

Так-то прикольно ящитаю.
324 2013128
>>13118
Однохуйственно абсолютно, что твой вариант что через лямбду
Только ты во float все таки оберни, если у тебя цена в строке, а то проебешься
325 2013173
>>13128
>>13118
Если действительно цена, то такие вещи, лучше в Decimal засовывать
326 2013218
Пайтон!
327 2013287
>>12888
from collections import defaultdict
d = defaultdict(list)
for entry in myjsonlist:
d[entry["id"]].append(entry)
328 2013536
Есть какая-то нормальная книжка по Django CMS на великом и могучем РУССКОМ языке? И чтобы не форсила использовать SQLite?
329 2013537
>>13536
Тебе зачем?
330 2013540
>>13537
Для уника нужно веб-сервис написать, а у меня есть опыт с цмсками на пхп. Но когда сказал, что буду писать на пхп мне пальцем у виска покрутили и отправили писать на c# либо пайтоне. На c# у меня опыта 0, а базу пайтона знаю плюс есть опыт работы с фласком не зашло от слова со всем. Вооот, хочу джанго подрочить, узнал что есть CMS и теперь хочу CMS.
331 2013571
Есть на дваче тред про докер и дженкинс?
Есть вопрос. Вот я любой образ а докера могу взять, записав его в докерФайл и собрать это в дженкинс?

Задача, сделать контейнер в котором настроить env для юнит тестов питона, собирать его нужно каждый раз через пайплайн или его нужно хостить где-то?
332 2013603
333 2013613
>>13128
>>13173
Обнял обоих
image.png71 Кб, 1282x1056
334 2013760
Анон, мудрый, объясни, как это решить?
Не понимаю, как сделать все начиная с 2 пункта. Я так понял, там должна быть рекурсия и if else? нихуя не понятно, есть вообще примеры на питоне подобного? если кто сможет сделать, могу скинуть 2 сотки на карту.
Пикрил, как сейчас стоят диски и шпиндели, лол

Существует 8 шпинделей, пронумерованых от 8 до 1 слева направо. На каждом шпинделе надеты диски, в количестве, равном соответствующей цифре из ID студента. Все диски имеют разные диаметры. Диаметр диска равен M * 10 + N, где М – номер шпинделя, на котором надет диск, а N – это номер диска на шпинделе, считая сверху вниз.
1.Необходимо визуально изобразить предложенную задачу. Диски на шпинделях сделать случайных цветов. На каждом диске отображать цифру, равную его диаметру. Диаметр диска также показывать его фактическим размером в пикселях.
2.Необходимо вычислить, за какое минимальное количество итераций переместятся все диски на шпиндель номер 1 по следующим правилам:
а) За одну итерацию можно переместить не более одного диска
б) Диски можно класть только с большего на меньший
в) Со шпинделя номер 8 можно перекладывать диски только на шпиндели 7 и 6
г) Со шпинделя номер 1 можно перекладывать диски только на шпиндели номер 2 и 3
д) Со шпинделей от 2 по 7 можно перекладывать диски только на два соседних шпинделя.
335 2013791
>>13760
Похоже на задачу о ханойских башнях. Погугли примеры ее решения, должно помочь.
336 2013815
>>13791
гуглил, но чет везде c++, ничего по питону. это и есть она, но везде 3 столбика, а тут по задаче 8, ебануться
337 2014069
>>13815
Пиздец, это же одна из самых попсовых задачек наравне с сортировками. Сто миллионов статей с любыми языками и вариантами решений.
338 2014080
>>13815
Заходишь на гх, вбиваешь в поиск и фильтр по языку
339 2014100
>>13791
Если я правильно понимаю условие, то нет тут никакой ханойской башни.
>>13760

>Диски можно класть только с большего на меньший


Правильно ли я понимаю, что можно перекладывать диск, лежащий непосредственно на диске с диаметром x, непосредственно на диск с диаметром y, только если x > y?
340 2014142
Суп питонач.
Можешь насоветовать чего-нибудь для быстрого вката в sqlalchemy? На работе используют, я до этого только djangoORM использовал, а сейчас надо бы по быстрому вкатиться.

Может есть какой-нибудь блитц который позволит делать запросы средней сложности, но без глубокого погружения в детали? Т.к. с деталями можно и оф доку читнуть.

Можно на англ, но если на ру будет, то вообще пушка. Спасибо, двач.
341 2014331
>>14100
именно.
342 2014333
>>14331
препод назвал это "модифицированной ханойской башней"
343 2014350
>>03913 (OP)
Пасаны, а как работать Selenium-ом с SPA?
Когда пытаюсь найти любой элемент на странице он мне постоянно выдает "no such element", сколько бы времени я ни ждал через time.sleep()

wtf? че делать?
344 2014352
>>14350
Там можно ждать появления конкретного элемента.
Но может ты не все настроил и получил заглушку "пошел нахуй, ботяра".
Но в 90% лучшим решением является не дрочить селениум, а смотреть реквесты и повторять у себя, получая сразу готовые данные от бэка.
345 2014360
>>14352
Мне нужно взаимодействовать с формой, вбивая туда нужные данные, тут только селениум
346 2014372
>>14360
Форма сабмитися на бек или как форма или ажахом.
image.png10 Кб, 649x232
347 2014409
>>14372
Дело в shadow-root
Нашел пидарский способ с ним взаимодействовать
348 2014426
>>08659

> pyo3


Чем-то существенно отличается от rust-cpython?
349 2014475
Прекомпиляция регексов в пайтоне стоит того? Пишут, что интерпретатор их кеширует, но как там в продакшене это оформляют? Вряд ли же в чистом виде рассредотачивают рассредотачивают по коду.
350 2014502
>>14475
Ну ты можешь сам спрофилировать.

Имеет реальный смысл, когда у тебя в большом цикле обрабатывается много регулярок. Например, ты сканируешь файл построчно и каждую строку проверяешь каким-то сложным регулярным выражением. Выигрыш можешь быть кратным, при условии, что именно на регулярки основной расход времени идёт.

Но не забывай, что преждевременная оптимизация считается антипаттерном.
351 2014509
>>14409
Ну ты лалка, я же говорю, в любом случае всё сводится к реквесту на бек, смотришь его и повторяешь. Берешь любую дебажную прокси и гоняешь свою форму, там всё будет.
>>14475
re.py обвзяка доступна в pure-python виде. Там видим, что используется искаробочный же lru_cache с настройкой 512. Вообще нет смысла заморачиваться, если у тебя там пару штук регулярок.
352 2014524
Есть несколько телеграмм-каналов. Как заставить бота написать в них в качестве клиента?
(под ботом я имею ввиду любую программу, которая будет эмитировать действия обычного юзера)
353 2014552
>>14502
>>14509

> Но не забывай, что преждевременная оптимизация считается антипаттерном.


> Вообще нет смысла заморачиваться, если у тебя там пару штук регулярок.



Ну, вот, у меня по профайлингу выходит, что прекомпиляция даёт пусть и маленький с точки зрения задачи скрипта, но всё же прирост в скорости. Антипаттерн, не антипаттерн, но как-то глупо было бы отказываться от этого, нет? И если уж прекомпилировать, то куда это всё по-православному складывать: вверху, там, где константы, или выносить в отдельный класс/модуль?
354 2014573
>>14142
>>14142
Я щас именно этим занимаюсь
Тупо смотрю видосы на ютубе, смотрю как они делают
сначала там создается движок через create_engine, в него передаем урл к базе данных
потом с этим движком получаем объекты MetaData(в нем накапливаются объекты таблиц) и sessionmaker(он рожает session, грубо говоря это executor у которого есть метод commit)
Модели таблиц создаются через Table, в аргументы ему передаются Column, а ему в аргументы передаются Integer(), Text() или primary_key=True например.
Создать все таблицы физичесуи в бд metadata.create_all()
Можно создать объект запроса например query = table.insert((1, 'dddd')) и передать его в session.execute(), ну а вообще там одно и то же разными способами можно делать
Вот вообщем-то и все
355 2014575
>>14524
pip install Telethon
356 2014581
>>14575
А если есть еще и вотсап? Отдельную херь и для него? Просто взаимодействовать с произвольными приложениями-мессенджерами не выйдет?
357 2014632
Стоит ли переходить на жс для бэкенда или сидеть на жанге?
358 2014664
>>14581
Как ты себе это представляешь?
Можно через селением ебаться с веб-версиями
359 2014665
>>14664
Селениум*
360 2014690
>>03913 (OP)
Сап двач. Я тот анон, что неделю назад начал учить погромирование с нуля.
Услышал что среди тренировок питонистов есть задача на написание симулякра передачи Монти-Холла. Зацените как у меня получилось, норм или нет https://pastebin.com/VUsWEF3r

Теперь надо придумать как автоматизировать основной код и прогнать его пару тысяч раз, если будет 67% значит все верно. А если нет, то зря старался, пять часов его писал. И это моя третья попытка уже.
361 2014691
>>11995
Там все тусуются и деды 55 лвл есть. Но там делать нехер, негатива полно, порнухи и вообще это лютая прокрастинация.
>>12012
Ну попробую как дойду до алгоритмов в книжке, а то я только только начинаю свой путь
362 2014700
Пишу свою первую программу на Python. Суть в следующем: через tesseract считываем с определенного участка на картинке слова. Когда машина видит определенные слова (условно, это слова "хуй", "говно", "моча"), он нажимает на соответствующую кнопку в своем интерфейсе (кнопка 1, кнопка 2, кнопка 3. каждому слову определенная кнопка). Интерфейс написал на pyqt5, через tesseract находить и выводить нужные слова в консоль при их обнаружении научился. Как мне теперь всё это дело связать и забиндить?
CcuYraMXIAE5Yn6.jpg190 Кб, 1008x1323
363 2014702
>>14700
1. связываешь
2. биндишь
задвай более конкретные вопросы, хуесосина, нихуя непонятно в чем именно у тебя в мозгах затык
364 2014712
>>14691
бля. не люблю когда негатив мешают с порнухой
365 2014727
>>14573
Есть результаты тестирования, насколько этот вкат быстрее остальных?
366 2014828
Правильно ли я понимаю что параллельное программирование для создания приложений, а асиннхроное для веб и сети?
52406445847.jpg77 Кб, 551x700
367 2014832
368 2014853
>>14828
Хуню спизданул
Ести ты про потоки и async/await то похуй, надо смотреть что в данном случае удобнее, они и вместе используется, а в asyncio есть функция которая запускает данную функцию в отдеоьном потоке
369 2014877
Как правильно называть модель базы данных User или Users?
370 2014892
>>14877
Users_schema
371 2015064
>>14828
Нет, не правильно.
Скорее всего ты вообще плохо понимаешь что такое параллельное и что такое асинхронное.
372 2015078
>>14828
Параллельное программирование нужно вычислительных задач и высокопроизводительной работы.

Многопоточное и асинхронное программирование нужно для приложений, чтобы было несколько логических потоков исполнения, не было блокировки и т.п.

То есть параллельность это про вычисление, а треды и асинхронность это про приложения и сервера.
image.png9 Кб, 392x171
373 2015173
как запустить эти две строчки одновременно?
circlevis в цикле отрисовывает кружочек и рандомит ему радиус, а (pyttsx3) speck_engine.runAndwait озвучивает текст через встроенного в винду синтезатор речи. Как сделать так, чтобы circlevis работал во время синтеза речи?
374 2015348
>>15173
первую надо засунуть в отдельный поток
from threading import Thread
Thread(target=func).start()
375 2015456
Подскажите как в этом коде https://pastebin.com/yRTHa5kd сделать обработчик ошибки, если сервер не отдал в json prefixes, то этот запрос переотправить?
376 2015473
>>14832
на пике ты? там минихуй или натуральный питон? чет квадратик маловат
377 2015525
>>15456
у r есть метод json()

while True:
r = requests.get...
data = r.json()
prefixes = data["data"].get("prefixes")
if prefixes is not None:
break
378 2015537
>>15525
а он разве запрос повторит при ошибке?
379 2015539
>>15537
чего бы нет? цикл же
381 2015558
>>15551
ебать ты неадекват
изначальный get надо в цикл заключить
гумманитарий да?
382 2015566
Пацаны можт кто юзал асинхронный движок в sqlalchemy который create_async_engine, его уже можно юзать или еще сырой?
383 2015567
>>15558
я его только 2й день учу
384 2015772
>>15078
И как параллельность и треды с асинхронностью реализованы в питоне?
385 2015786
>>14832
Где искать мужа типа пикрил?
Я грудастая спортивная 1С-программистка, вкусно готовлю, хобби - бдсм.
386 2015792
>>15786

>Я грудастая спортивная


Кидай фотки
387 2015798
>>15792
Скинула в личку.
388 2015823
>>15772
ап вопросу.
389 2015886
>>15456
Чел, загугли pytest. Твоя стена когда превратится в три строчки с параметрами с пайтестом.
390 2015915
>>15348
Только одну?
391 2016059
>>15886
эээ... пайтест это тестирование, а мне обработка ошибки нужна.
392 2016196
>>07247
Обожаю снг за бесконечный форс антинаучной лабуды.
Просто перечислю вещи о которых ты даже не в курсе:
- понятия интеллекта не имеет под собой биологически объективных обоснований, это что-то уровня души и прочих эфемерных сущностей, в мозги вообще НЕТУ никаких носителей интеллекта
- выводить ум на основе школьных тестов уровня выберите треугольники/линии/кружочки это простейшая манипуляция уровня предсказаний по гороскопам, поэтому я их и сравнил, никакой объективной основы у айкью нету, его результат просто показывает что человек успешно решает тесты на кружочки, а не то как успешно он решает косплексные задачи в жизни

Учитывая что важность айкью я постоянно слышу от каких-то токсичных лузерков с комплексами до неба, не надо быть гением чтобы понять почему им так отчаянно хочется хоть в чём-то чувствовать свою значимость. Хоть в какой-то сферической циферке изи набиваемой практикой тестов.

И да, на досуге подумай почему люди со средним айкью имеют миллиарды, а ты работаешь обычной макакой у бизнес кабанчика.
393 2016399
>>16196

>- выводить ум на основе школьных тестов уровня выберите треугольники/линии/кружочки это простейшая манипуляция уровня предсказаний по гороскопам, поэтому я их и сравнил, никакой объективной основы у айкью нету, его результат просто показывает что человек успешно решает тесты на кружочки, а не то как успешно он решает косплексные задачи в жизни


Корреляция очень большая. Есть правда проблема, общая со всеми тестами - тесты работают хорошо, пока к ним целенаправленно не готовятся. Если же ты целенаправленно начинаешь задрачиваться на задачки по выборке треугольников по признакам, выучиванию сложных слов и т.п., ты себе добавишь в 10-20 баллов IQ легко, но сильно умнее от этого не станешь. Да, немного прокачаешь свои возможности, но не на 10-20 баллов.

Смысл в том, что если у тебя мозги заточены на абстрактное мышление, ты способен решать сложные задачи, ты много читаешь и думаешь, то решать простые задачки тебе будет легко, у тебя будет большой словарный запас, ты будешь легко строить ассоциации, выделять общие признаки т.п. А если ты скуп на мышление, то с этим будет всё хуже.

Это действительно так. Но, проблема в том, что как только появляется мотив, так сразу можно задрачиваться на тестирование и оно перестаёт адекватно показывать результат.

Сейчас, когда говорят про IQ, всё-таки больше говорят в отрыве от теста. Просто о мыслительных способностях.
394 2016400
>>16196

>ВРЁТИ

395 2016410
>>16196

>И да, на досуге подумай почему люди со средним айкью имеют миллиарды, а ты работаешь обычной макакой у бизнес кабанчика.


Если в Раше, то потому, что тут миллиарды у тех, кто в юности вместе с Пыней пиздил по подворотням ботанов всяких. Понятно, что это с интеллектом скорее обратную корреляцию имеет.

Но если ты просто пиздил чмошников, но с Пыней знаком не был, ты миллиардером не стал бы.

Кстати, если посмотришь на миллиардеров первой формации, то вылез сам наверх в бурные времена, а не по дружке с П, то там в основном все хорошо образованные. Березовский был вообще дфмн и профессором-математиком, даже членкорром РАН, но это вероятно уже прикупил, как деньги появились, Ходорковский, Дмитрий Зимин. Павел Дуров вот олимпиадником был.

В США тоже коррелят сильный. Интеллект выше среднего, но и происхождение и умение строить связи важны, конечно. То есть супер интеллектом в плане решения задач ты другие способности за заменишь. Хотя умение выстраивать отношения это тоже интеллект, просто он тестом не изменяется.
image.png97 Кб, 236x236
396 2016436
Месяц на Питоне, объясните дауну, зачем нужны раздельно функции и методы, ведь это кажется тупо неудобным.
Например, есть переменная:

>word = 'hello'



С ней можно сделать, например, подсчет символов:

>len(word)



Или заставить писаться с большой буквы:

>word.upper()



Уже три недели вникаю в ООП, понимаю, что в Питоне word автоматически становится объектом, который усваивает методы класса Str, но все же - кто скажет, кому пришла в голову идея делать так запутанно вместо единого формата, например:

>len(word)


>upper(word)



или

>word.len()


word.upper()

Это какая-то знаменитая пайтоновская логика, упрощающая кодинг? Насколько знаю, в других языках такой путаницы нет (могу ошибаться).
397 2016458
>>16436

>Месяц на Питоне


Скорее всего и месяц в программировании вообще.

Рано тебе ещё лезть в ООП и архитектуру, ты просто не готов пока. Нарабатывай кодерские скиллы. Не лезь пока в ООП, это тебе пока не нужно и ты не готов.

Через год приходи с такими вопросами, если останутся.
398 2016491
>>16436

>Это какая-то знаменитая пайтоновская логика, упрощающая кодинг? Насколько знаю, в других языках такой путаницы нет (могу ошибаться).


Везде есть та или иная путаница.

Вообще, так сложилось.

len() это базовый оператор языка. upper() это специфичный метод. upper(word) однозначно не вариант по понятным причинам, чтобы глобальное пространство имён не портить.

len() так метод вполне себе вариант и даже если копнуть глубже, именно так и есть, для этого есть метод __len__(self), который и возвращает длину объекта, для своего объекта ты можешь его определять.

Но, есть семантическая разница, как и зачем len() используется, есть разные подводные камни с наследованием и т.п.
399 2016539
>>16491
Я правильно понимаю (если упрощенно), что функции (типа len(x), round(x), print(x)) - это как-бы методы некого класса классов, этакий GLOBAL_PYTHON.len(word), написание которого отбрасывается, ибо он автоматически имеет власть над всеми типами данным (которые для него - объекты, его наследующие)?
400 2016556
>>16539
Это не методы, это операторы. Такие же как, например, iоператор f.
401 2016557
402 2016564
>>16539
Не очень понял.

Скорее это просто встроенные функции, которые под капотом для нестандартных объектов реализованы так, что они дёргают специальный метод, который должен быть определён. При этом для встроенных типов интерпретатор может работать более оптимально, не дёргая реально эти методы.

Отчасти тут историческое наследие. Плюс это в плане семантики выделение некоторых особых функций в особый статус.

Например ты можешь делать так:
len("world" + "hello")
round(1.1 + 10.6)
- вычислить что-то без получения промежуточного результата. Если бы у тебя было всё через методы сделано, пришлось бы писать
("world" + "hello").len()
(1.1 + 10.6).len()
что как-то не очень стройно.
403 2016569
>>16539
>>16436
Это не один пример, их дохуя. Сделано это, чтобы не изобретались велосипеды. Хочешь сделать len, имплементь __len__, хочешь сделать итератор - имплементь __iter__ , __next__ и т.д.
Т.е. ты встраиваешь свою нестандартную логику в стандартные возможности языка, которые работают ожидаемо.
404 2016579
>>16569
Суть вопроса анона была в том, почему сделано
len(obj)
а не
obj.len()

Второй вариант тоже вполне допустим был бы. Но так сложилось и так просто в целом удобнее и нагляднее.
405 2016596
>>16579

>а не obj.len()


Ну так есть obj.__len__()
406 2016611
>>16436
умник а upper от листа или от инта что будет делать?
len это общий метод для последовательностей
407 2016614
>>16579
Да вопрос был в целом о закулисном различии между функциями и методом, бросающимся в глаза новичку разницей в синтаксисе:
do(somethig) и something.do()
Энивей, последний актуальный вопрос: если методы - это функции классов, то глобальные фукнции к чему привязаны? Вот как анон говорит >>16611, something.upper() возможен только для объектов класса Str, тогда как len(something) для объектов разных классов. Что позволяет глобальным функциям вытворять такое? Что они вообще такое, по отношению ко внутренним классам (Str, Int, Dict и т.д.?
408 2016718
>>16614

>если методы - это функции классов, то глобальные фукнции к чему привязаны?


Условно, метод - это просто функция, определённая в области видимости класса и принимающая первым параметром указатель на класс

Ты можешь сделать так
def func(self):
____print('func', self)

class Aaa:
____pass

a = Aaa()
Aaa.func = func
a.func()

и это будет работать так, как если бы ты корректно определил метод для класса

Смысл методов в ООП в том, чтобы очистить пространсво имён в первую очередь.

У классов Aaa и Bbb могут быть методы func, но принципиально разные
поэтому ты не можешь делать
func(a) и func(b), так как функция разная.
а вот a.func() и b.func() очень естественно и понятно.

Впрочем ты можешь определить func как
def func(self):
____self.func()

и потом вызывать func(a) и func(b), и всё будет работать. Можешь аргументы поддержать без проблем, в питоне это просто.

Но, нехорошо, ты портишь глобальное пространство имён.

Глобальные функции не привязаны ни к чему.
408 2016718
>>16614

>если методы - это функции классов, то глобальные фукнции к чему привязаны?


Условно, метод - это просто функция, определённая в области видимости класса и принимающая первым параметром указатель на класс

Ты можешь сделать так
def func(self):
____print('func', self)

class Aaa:
____pass

a = Aaa()
Aaa.func = func
a.func()

и это будет работать так, как если бы ты корректно определил метод для класса

Смысл методов в ООП в том, чтобы очистить пространсво имён в первую очередь.

У классов Aaa и Bbb могут быть методы func, но принципиально разные
поэтому ты не можешь делать
func(a) и func(b), так как функция разная.
а вот a.func() и b.func() очень естественно и понятно.

Впрочем ты можешь определить func как
def func(self):
____self.func()

и потом вызывать func(a) и func(b), и всё будет работать. Можешь аргументы поддержать без проблем, в питоне это просто.

Но, нехорошо, ты портишь глобальное пространство имён.

Глобальные функции не привязаны ни к чему.
409 2016719
>>16611

>умник а upper от листа или от инта что будет делать?


len(5)
тоже выбросит исключение. Не говоря уже о таких специфичных штуках, как round()

Просто len() довольно общая вещь, поэтому определили как стандартную функцию. Чистая условность.
410 2016750
>>16614

> do(somethig) и something.do()



Я из-за этой хуйни на Котлин пересел
411 2016905
>>16719
а в твоей логике длина от целого числа что должна вернуть?
412 2016919
>>16614
глобальные методы лежат в builtins
import builtins

Глобальные функции просто обращаются ко внутренним методам класса, например len() от целого числа возвращает ошибку object of type 'int' has no len() , то бишь он просто не находит определенный внутри класса int метод __len__(self)
Эти функции подаются как преимущество языка, потому что если у тебя есть пользовательский класс, имеющий природу последовательности, тебе не надо думать как программист выдумал определить длину obj.length() или obj.size(), есть просто общий метод len
413 2017008
>>03913 (OP)
В пятницу перед тем как бросить код в ревью назвал там переменные small_dic и big_dic. Как думаете, ревьюверы оценят или назовут меня пидором? Компа под рукой нет, вплоть до вторника менять что-то не выйдет
414 2017161
>>17008
Да.
Ты пидор.
415 2017201
>>17008
Пруф или не было.
416 2017218
>>17008
Поймут что у тебя плохо с английским и не возьмут.
417 2017222
>>17008
ну не dick же.
418 2017230
>>17218
Очевидно же что это сокращение от dictionary.
Но тот анон все равно пидор.
419 2017363
>>17230
Очевидное сокращение от dictionary - dict. А у него залупа петросянская.
420 2017386
>>17008
Код - это самое последнее место для твоего петросянства, не говоря уж про то, что сама идея назвать две переменные по непонятному "размеру", а не по функциональному назначению, уже и так почти наверняка является хуевой практикой именования с твоей стороны.
photo2019-03-1515-20-05.jpg90 Кб, 900x672
421 2017564
Аноны, а как хранить пароли в питухоне?
Ну вон есть условные коннект к бд, не клиртекстом же.
422 2017590
>>17564
В первом приближении просто в конфиге открытым текстом. Как и некоторые другие параметры подключения.

Дальше вопрос всей твоей инфраструктуры, где и каким образом конфиг хранить.
423 2017719
>>17564
пароль к бд? в коде пароль нужно получать из переменных окружения
os.environ()
а хранить у себя в keepass
424 2017968
Сап, не до конца знаю, корректно ли писать в этот тред по поводу работы с БД в django, но...
В БД имеется таблица, в которой нет ключевого поля, но есть поле, которое задано внешним ключом по ключевому полю другой таблицы.
По итогу при попытке в models.py прописать что-то вроде
field = models.ForeignKey(Table, to_field="fieldid", db_column="fieldId", default=None, on_delete=models.CASCADE)
при попытке сделать миграции django выдает предупреждение о том, что пытаюсь добавить non-nullable id без дефолтного значения, хотя оно прописано. Где я накосячил?
425 2017992
>>17719

>а хранить у себя в keepass


В смысле?
image.png81 Кб, 1614x587
426 2018012
Подскажите, а как спарсить этот bonjour с сайта https://context.reverso.net/translation/english-french/hello

Пробовал взять em с классом "translation" но оно суп не парсит. Может можно просто этот текст спарсить?
image.png5 Кб, 830x159
427 2018022
>>03913 (OP)
Обосрался с кодом на leetcode, мне он выдал вот такое
Что там может использоваться что действительно проверяет обозначенные типы и возбуждает соответствующие исключения из-за этого?
428 2018058
>>18012
разобрался. надо было просто get_text() делать
429 2018069
>>18022
integer[] уже намекае, что это какая-то хуйня.
Не тот язык выбран?
430 2018094
>>18069
TypeError же але
они изначально ориентировались везде на Жабу вот такое и пишет, не надо обращать внимание на эту хуйню
431 2018241
Посоны, а как наименее безболезненно мигрировать с Джанги 2 на 3?
432 2018514
С помощью питона генерирую команду для ffmpeg. Потому что я не умею в batch. Высчитывается нужный битрейт для всех видео в заданной папке, чтобы на выходе получить 8мб видео (для дискорда). Всё это делается через for video in videos_list.
Вопрос: как эту команду выполнить? Через os.system что-то не завелось. Причём схема такая: выполняется команда, ожидается завершение, запускается команда для следующего видео.
Причём генерируемый строковый объект состоит из двух строчек: сначала идёт chcp 1251, чтобы кирилица работала, а затем уже строчка для ffmpeg.
Код не кину, ибо не дома.
433 2018588
Подключаюсь к локальной postgras sql в докер кидает ошибку что мой локалхост не принимает 5332 порт.
Хотя все открывается в sql клиенте на том же порте. В чем может быть дело?
Зашёл в контейнер проверить че там в кофеине - все принимается стоит *.
434 2018615
>>18514
В линухе делал через subprocess. В винде наверно так же.
435 2018753
>>18615
Попробую, спасибо.
436 2018869
>>18588
Правильно ли я понимаю, что твоё приложение крутится в докер-контейнере?

Проблема в том, что внутри твоего докер-контейнера локалхост это именно сеть внутри контейнера, а не на хост-машине. Ты не можешь так достучаться наружу.
437 2018942
>>18241
В чем боль? 3 джанга вроде чисто условно получила эту версию, изменений для мажорной версии там нет
df.png5 Кб, 500x258
438 2019172
Есть тут гуру Pandas?
У меня есть словарь вида:
{some_group1: [{a: 1, b:4, c: 5}, {a:9, b:0, c:4}, ...], ..., some_groupN : [{a: 3, b:7, c: 0}, {a:8, b:2, c:6}, ...]}
Мне надо получить такой датафрейм как на пикрилейтеде.
Как это сделать? Пробовал через pd.concat({k: pd.DataFrame.from_dict(v) for k, v in df.items()}, axis=0), но выгляит как-то не так. Some_group общей должно быть колонкой, а не индексом.
439 2019226
БЛЯ ПИЗДЕЦ

Есть простая цель: скачать пдф по ссылки, отправить этот пдф в гугл клауд на извлечение текста, повторить это много много раз.

Проблема в том, что гугл клауд не хочет распознавать больше, чем 10 страниц. Ладно бы он сам брал первые 10 страниц, и возвращал хотя бы их, хуй там, возвращает ошибку.

Похуй, стал искать библиотеки, которым можно обрезать количество страниц в ПДФ. И с какого то хуя каждая блядь библиотека ожидает, что я буду передавать ПДФ как путь к файлу, а у меня уже ёбанный ПДФ загружен в память, я его блядь скачал.

Окей, нашёл PyMuPDF, он принимает на вход пдфку из памяти. Но ккогда я удаляю эти лишние страницы, а после этого хочу обратно выгрузить ПДФ в память для некоторых ПДФ я получаю ёбанные ошибки, типо:
RuntimeError: only Gray, RGB, and CMYK colorspaces supported
или
pdf device does not support substitute fonts

Вот хули ему надо бля? Его дело просто убрать лишние страницы и вернуть всё остальное. ХУли он выёбывается то?
Пробовал метод document.scrub(redact_images=2), который должен удалять чувствительные данные, в том числе ебучие изображения, но нихуя. Он как ругался на недопустимое цветовое пространство, так и ругается.

Собственно, вопрос: можно ли как то PyMuPDF жрать все пдфки?
Если нет, есть ли какая то библиотека, которая гарантированно жрёт любое пдф, при чём загружать в неё пдф можно из памяти, а не из диска?
440 2019229
>>19172
такое разве вообще можно делать в pd?
Создавай отдельную колонку, в которой будет записано значение группы для каждой строки
441 2019300
Можно ли сделать groupby датафрейма без всяких аггрегаций и примерения прочих функций?
Просто сгруппировать по значению одной из колонок? Без всякий count(), sum(), mean(), apply() и прочих вещей?
442 2019357
>>19226
io.BytesIO
443 2019359
>>19226
Так извлекай текст прямо в PyMuPDF, хуле ты мозга ебешь?
Или тебе надо текст из встроенного в PDF изображения распознавать?
444 2019386
>>19359
да хуй знает, мне кажется гугл клауд по лучше текст из пдф извлекает, не?
445 2019400
>>19386
Текст это просто набор ASCII ну или там UTF8 кодов, как его можно извлекать лучше?
446 2019405
>>19400
Пдф это очень ебливый формат в плане извлечения информации, оно там не чистым текстом и не особо структурировано.
14996312975020.webm1,5 Мб, webm,
480x384, 0:27
447 2019420
>>19405
Ну ладно тогда.
448 2019442
>>18588
Разобрался. ДБ пишет в консоли один порт а на деле докер присватает другой.
449 2019467
Есть шаблон заказ-наряда для СТО
Нужно чтобы питон сам подставлял нужные значения и печатал в PDF
Как это можно реализовать?
(Желательно чтобы состыковать с Qt)
450 2019520
>>19467
Upd: догадался делать в QTextEdit, вроде отчет делается, но как добавить там свой текст?
Либо как править html код из питона?
451 2019536

>Вот, пожалуйста, та же самая программа, но переработанная под язык Python: http://composingprograms.com/ (нужно знать ангельский или уметь пользоваться переводчиком)



Аноны, есть ли это в пдф?
452 2019573
>>19467

>Есть шаблон заказ-наряда для СТО


>


В каком формате есть то?
>>19520
html это тупо текст же
Можно тем же beautiful soup править
Снимок.PNG25 Кб, 1265x292
453 2019613
Я могу прикинуть план как получить df3 в sql, но не знаю как с помощью пандас, хелп.

Типо сначала union по первым трём. Потом лефтджоиним по этим трём сначала с df1 -> получаем таблицу из 4-х колонок добавлением color. Лефтджоиним с df2 опять же по первым трём полям-> получаем искомое. правда там Null'ы будут, и хотелось бы без них тоже, но ето не критично
изображение.png243 Кб, 1920x1080
454 2019622
>>19573
Pdf, doc

Как такое править то?
Screenshot2021-05-0423-05-00.png19 Кб, 1017x151
455 2019648
Как пофиксить
ModuleNotFoundError: No module named 'rss_reader.parser'; 'rss_reader' is not a package
Пробовал импортировать разными способами,но у меня ничего не получилось
456 2019660
>>19648
ты его установил хоть?
проверь через pip list
457 2019669
>>19660
Да, всё установленно. Импортировать нужно в rss_reader.py и видимо возникает какой-то конфликт из-за того что имя модуля и имя пакета совпадает
458 2019697
>>19669
Ну переименуй свой rss_reader ёпт
459 2019703
>>19697
Проблема в том что нельзя переименовывать, иначе не проходит чек в пулл реквесте.

Еще прикол в том что если в setup.py добавить консольный скрипт, то через него еррор на импорт rss_reader. не выскакивает, а при дефолтном вызове да. Тоже самое только наоборот если просто импортировать parser и feed (без rss_reader.)
460 2019714
>>19703
ifmain есть?
а то мало ли....
461 2019716
Анончики, помогите плз ньюфагу. Работаю с модулем argparse. Проблема заключается в том, что метод add_argument удаляет из вводимого через командную строку аргумента символ ^.
Вот, скажем, ввожу в командной строке следующее:
python module_name 2^2
Получаю (через вывод parse_args()):
Namespace(argument='22').
Как пофиксить?
462 2019721
>>19714
Да, есть
463 2019728
>>19703
Во втором случае там проблема именнно с импортом parser, так как в дефолтной библиотеке есть такой модуль. Можно как-то заставить питона юзать мой parser, а не из дефолтной библы? Или тут проще его как-то по другому назвать и не ебаться?
464 2019734
>>19728
Зачем вообще придумывать костыли, если есть возможность переименовать?
465 2019741
>>19648
тьфу бл, ты импортируй то rss_reader
466 2019743
>>19741
именно сам модуль, без .parser, .feed
и потом уже бери что тебе нужно
467 2019746
>>19741
AttributeError: module 'rss_reader' has no attribute 'parser'
468 2019766
Всем привет. Подскажите новенькому.
Собрал докер образ через Дженкинс то есть элементарный пайтон система с пакетами. Собралась спустя 5 минут.
Вопрос. Могу ли я использовать эту Джобу каким-то образом сейчас чтобы запустить на ней Питон скрипт?
Или нужно этот Билд где-то хостить типа докерхаба?
469 2019782
>>19766
Докерхаб нужен для хранения образов, а не для их запуска.

Собранный контейнер можно запустить локально, если у тебя установлен докер. Впрочем если бы не был установлен, то ты бы не смог собрать контейнер.

через команду вроде
docker run -it my_python_image

Запустить скрипт внутри контейнера сложнее, потому что сначала надо его расшарить внутри контейнера

docker run -it --rm -v $(pwd)/my_app:/app python:3.9 python3 /app/app.py

пример команды, если у тебя приложение лежит в папке my_app, а называется app.py

Это в линуксе, в винде вместо $(pwd)/my_app
надо будет полный путь к папке указать.

На самом деле не понятно, зачем тебе докер для этого, в чём то проще его установить в систему и пользоваться virtualenvs, если тебе надо опыты ставить с разными пакетами. В винде питон работает довольно хорошо.

Потому что иначе сначала надо более-менее нормально с докером разобраться, а на это время надо.
470 2019792
>>19782
Спасибо.
Мне нужно чтоюы все в команде могли запускать мои тесты. Для этого я собираю Дженкинсон образ/билд через Пайплайн.
Сейчас он показывает что все собралось успешно на дженкинсе.
Вопрос, могу ли я как-то сейчас использовать этот билд для питон скриптов которые тоже находятся в репо уже?
Я понимаю что если бы у меня был докерхаб я бы туда положил собранный образ/Билд и потом тесты бы просто запускал используя агент Докер.
Но можно ли как то это сделать без Хаба а чисто в дженкинсе? Может модно как-то тригирнуть тесты чтобы они бегали по этому образу который уже был собран в дженкинсе?
471 2019885

>>> x = [1,2,3,4,5]


>>> a = [9,8,7,6,5]


>>> a[:] = [x[:2], x[2]]


>>> a


[[1, 2], 3]

как в одну строку сделать так, чтобы выходило [1,2,3]?
472 2019906
>>19885
a[:] = x[:2] + x[2:3]
473 2019916
>>19906
Получился срез x[:3]
474 2019932
>>19916
ну так и надо, учитывая что я вопрос не совсем верно задал
я вообще со строками работал где это плюсование не делает дел
дошло очевидное, нужно убрать [:] из a[:] = x[:2] + x[2:]
475 2019935
>>19932
эта [:] штука позволяет не делать новые копии списка в памяти (в питоне переменные отсылают к значениям), потому я ей теперь пользуюсь
476 2020229
>>19885
a = x[:2] + [x[2]]
477 2020232
>>19935
[:] позволяет перезаписать объект, а не создавать новый.

Разница принципиальна, когда у тебя несколько ссылок на объект, например у тебя твой список в каком-нибудь классе хранится или в другом объекте. Либо когда ты передаёшь его в качестве аргумента в функцию.

def foo(arr):
____arr = [1,2,3]
и
def foo(arr):
____arr[:] = [1,2,3]

могут работать принципиально по-разному. В общем тут это главное, а что там память выделяется или не выделяется это ерунда полная и не надо об этом думать. Скорее всего у тебя в любом случае какой-то промежуточный список создаётся и под него выделяется память.
478 2020272
>>19703
Переименовать свой пакет
Переименовать скачанный пакет в site-packages
Перетащить нужный код к себе проект в пакет с другим именем
Поменять приоритет путей в sys.path чтоб сначала искал в сторонних либах
Так же можешь попробовать покопаться в родной либе importlib, наверняка там можно соорудить импорт из конкретной папки
479 2020274
>>19716
аргумент в кавычки попобуй заключать в баше
480 2020351
Здравствуйте, пытаюсь сделать парсинг нескольких страниц, но у меня ничего не получается.

https://onlinegdb.com/HkHPrZlud

На этапе когда парсил одну страницу было некоторое понимание что делаю, но в какой-то момент мозг просто остановился.
481 2020393
>>20351
А зачем ты нахуевертил это ооп и логи? Там в десяток строчек всё делается. Начни с простого, потом наращивай мяско.
Стандартный подход примерно такой
next = url
while True:
page = get(next)
#парсим
next = ищем ссылку на следующую страницу. Если её нет, то само останавливается.
482 2020459
>>20393
Спасибо, сейчас буду так делать.
483 2020535
Как на питоне сделать данную хуйню? Я заебался уже, не понимаю какой gui выбрать, синтаксис за две недели хуй нормально выучишь, да ещё и препод пока что не разрешает мат. библиотеки использовать. Вообще мы на делфи всё это делаем, но препод на питоне разрешил. Захотелось вкатиться... с переходом потом в научный питон. Помогите аноньчики, лабы уже горят
484 2020561
>>20393
И правда 10 строк получилось, интересно зачем было на ютюб всю эту воду лить.
485 2020604
>>20561
Рано я праздновал победу, почему-то парсит только две первые страницы.

https://www.onlinegdb.com/S12TamlOu
486 2020612
>>20274
С двойными работает, а с одинарными нет.
Спасибо большое.
Есть предложения, в чем причина в двух словах?
487 2020633
>>20604
Нет, все нормально работает, я просто сверхразум.
488 2020673
>>20612
^ это один специальных символов регулярочек, нужно либо экранировать \^ либо явно указывать что это текст с помощью кавычек
489 2020713
>>19746
from rss_parser import parser, feed

parser.Parser()
feed.Feed()
490 2020715
>>19467
короче насмастырил костыли, но в итоге шаблон заполняется
осталось только сделать вывод на печать....
491 2020730
rm -rf
492 2020774
Пацаны посоветуйте гайд какой-нибудь или книженцию чтоб быстро вкатиться в понимание субд, не язык sql, а именно индексы, отоношения, представления, все такое
493 2020810
Собсна есть функция main в которой парсятся аргументы командной строки. Нужно написать для нее юнит-тесты с разными аргументами. Как это сделать?
494 2020842
>>20810
Во-первых можно прям напрямую sys.argv менять, а еще в arg_parse можно тупо list передать заместо sys.argv
495 2020855
>>20842
Уже пытался передавать список, но ничего не получалось. Только сейчас понял что забыл удалить пакет.
496 2020862
>>20855
какой пакет?
497 2020868
>>20862
Ну у меня модуль парсера в пакете, который установлен. Я менял код в функции main и в в модуле парсера и получал ошибку parse_args() takes 1 positional argument but 2 were given потому что в версии пакета которая установленна parse_args() принимает один аргумент.
498 2020878
499 2020905
>>20730
Спасибо, помогло
500 2020912
>>20905
Ответ с того света
501 2021023
>>20774
Как отсортировать список по координате Y? И чтобы не в кашу
503 2041858
504 2050047
>>03913 (OP)
Чуть больше месяца учу питон. Дошел до главы про API. Думал смогу написать скрипт для выкачивания музыки со страницы ВК. Загуглил скрипты, оказалось нет, для меня слишком рано. Но из за любопытства скачал один скрипт с гитхаба. Так вот очевидно скрипт просит авторизацию на страничку (без авторизации пользователя ведь нельзя обращаться к данным в ВК, верно?)
Вообщем авторизировался, скачал музло скриптом. Через несколько минут пришло письмо, что кто то авторизировался на страницу через Firefox, хотя у меня Chrome.
Я еще нуб в этом деле и не догоняю до конца, может быть это просто ВК распознал мою авторизацию через скрипт как авторизацию через Firefox, или скрипт все таки отправил мой логин и пароль тому автору?
Может кто шарит зачекать данный код и сказать есть ли там подстава? https://github.com/dvjdjvu/vkMusicDownloader/blob/master/src/main.py
Обновить тред
Двач.hk не отвечает.
Вы видите копию треда, сохраненную 6 июня 2021 года.

Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
« /pr/В начало тредаВеб-версияНастройки
/a//b//mu//s//vg/Все доски