Это копия, сохраненная 22 марта 2018 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Свой код кидайте через https://ideone.com/
Книги и ссылка на PyCharm: https://yadi.sk/d/tArKKuQu3Kejuq
Предыдущий тред >>1126456 (OP)
Python питон
ага, можно из головы выдумывать что делает функция/метод
например я когда вызываю time.sleep(3)
представляю что мне надо пойти поспать три часа
ток заказчику не говорите
>Он жрет много оперативки
У тебя у пеки до сих пор меньше 4гб?
>долго грузится
И перезапускаешь его ты по несколько раз за час
Мне кажется, мультипроцессинг тут излишен. Тредов или асинхронности вполне достаточно должно быть.
LiClipse
А как определить, когда нужен мультипроцессинг а когда тредов достаточно?
Я сначала хотел вообще pprocess заюзать для прикола
>А как определить, когда нужен мультипроцессинг а когда тредов достаточно?
http://masnun.rocks/2016/10/06/async-python-the-different-forms-of-concurrency/
этого поддерживаю
А если у меня эта операция повторяется много раз~100, то что же всё-таки лучше - создавать новый или добавлять в существующий?
a.append(b)
a.append(c)
a.append(d)
Правильно ли это? Нельзя ли как-то одной строчкой записать?
a.extend([b,c,d])
Што? Кодировка и шифрование это разные вещи.
Хмм, у меня просто строка выглядит
solutions.append(tetrahedrons)
solutions.append(tetrahedrons[i+1])
solutions.append(tetrahedrons[i+2])
solutions.append(x)
solutions.append(z)
solutions.append(y
и с extend получится очень громоздко. Может, ещё как-то можно?
Норм пацаны пишут на асме и лиспе.
Да. Но долго.
Но мне в любом случае придется при инициализации поля давать ему какое-то значение.
Лизавета, когда нейронка готова будет?
Спасибо большое, властелин питона.
А так если оно неинициализировано, то какая разница, есть оно вообще или нет? В сишках всяких всё равно ведь 0/null присваивают в конструкторе руками, если сразу значения нет.
РВАТЬ НА БИТАХ ЭТО ХАН ЗАМАЙ ДЕН ЧЕЙНИ ПОШЕЛ НАХУЙ
Кстати, если брать словарь, то все варианты будут храниться в оперативной память в отличии от аналогичных отператоров case в других языках программирования? Или я ошибаюсь в чём-то? А это цепочка elif'ов просто громоздкая.
Экономия на спичках
Ну вместо памяти с байткодом будет лежать в памяти с данными, подумаешь.
Сет неупорядочный, тут просто пример у тебя может быть другая последовательность это нормально
Потому что множества в питоне представляют из себя хеш-таблицы и не поддерживают индексацию
С numpy да, красиво перемножаются. И быстро. Собственно все эти numpy/scipy/ipython/matplotlib/sympy — это именно то что сделало питон популярным в этой сфере. Примерно как рельсы в рубях или мегатонны легасей в C++.
>т.е это осмыслить никак нельзя я правильно понял?
Прочитай про хеш-таблицы и поймешь почему в питоне именно так
Блядь, анон, ну как разобраться в многопоточности и этих ваших асинк/авэйт? Понимаю всё, что читаю, но как до практики доходит - просто охуеваю. Как вы в консольке понимаете какая корутина сейчас работает? А как понять, что они работают одновременно? Нахуй нужен sleep()? Как жить?
>А как понять, что они работают одновременно?
Легко. Корутины одновременно не работают.
>Как вы в консольке понимаете какая корутина сейчас работает?
Уточни вопрос. Какая разница, какая из них сейчас работает-то? Важно обычно только окончание.
Разберись сначала с обычными генераторами. Потом найди там метод send и всякие конструкции вроде incoming_value = yield. Тащемта корутины сделаны на всей этой машинке, только скопированы и помечены как корутины, дабы можно было делать асинхронные генераторы.
У девида бизли на сайте есть статьи по генераторам корутюнам и прочему.
http://www.dabeaz.com/generators/
Бизли и Светлов прям прославились на волне асинхронности в питонах. Хайпанули немножечеко.
Причем тут воркер?
Кому ты нужен без знания бд, фреймворков? Подразумевается, что даже от джуна должна быть какая-то польза
Все. Весь линакс на питоне. Питон как скриптовый язык используется в GIMP, OPENOFFICE, BLENDER и других пакетах. Хорош как Язык для прототипирования. Разработчики позаботелись об интеграции с сишкой. Хуев в числодробилках. Неправильно считает арифметические побитовые операции.
>GNOME is mainly written in C, C++, Vala, Python and JavaScript
Ещё питон есть в торе, в распбиан ( ОС для ruspberrypi). Micropython - программировать всякие микроконтроллеры.
Система распознования ебальгюников findface тоже на питоне написана. Легче найти где он не используется.
>жава
Слишком монструозна
>си
Слишком много нужно писать самому
В пифоне многие вещи уже написаны за тебя и нужно лишь обмазаться абстракциями, так же можно "склеивать" библиотеки, которые написаны на разных языках благодаря охуенной интеграции
Нет. Если грубо то питон это надстройка над сишкой. Все низкоуровневое написано на сишке.
Асло смотри это
https://en.m.wikipedia.org/wiki/List_of_Python_software
>В пифоне многие вещи уже написаны за тебя и нужно лишь обмазаться абстракциями, так же можно "склеивать" библиотеки, которые написаны
теперь понел
Не знаю сложнее ли , у нас боксёр Кодил после института за 50к сразу
Я ему просто на вопрос ответил, я вообще, любитель змей, жса и девопса
Жаль, что так и не сделали сочетания доступного языка (как питон) с простым и удобным инструментом работы с интерфейсами без PyQt5 и прочих костылей. Цены бы не было.
Тогда придется писать тот же gtk только на новомодном языке с нуля просто потому что тебе захотелось. Это целые годы кодинга, отладки, внедрения. Нахуя это нужно если к низкому уровню все равно не будешь притрагиваться.
Суть погромирования в повторном использовании чужого кода. Представь если бы небыло шкалки и каждый школьник вынужден был заново открывать законы физики, мы бы до сих пор сидели в пещерах и ебались в жёппы.
Посмотри в сторону go и прочих новомодных компилируемых языков. Питон не для этого, но свои задачи он выполняет (язык для людей а не для роботов байтоебов).
>кодинга, отладки, внедрения
Нет. Это расстройство от того что твоя либа никому не нужна. Gtk выезжает на гномах и редхате. Qt выезжает на других фирмах которые его делают. То есть сделать ты может даже и сделаешь, но это ж ещё поддерживать, развивать и пиарить надо.
К питону как языку претензий никаких. Замечательный язык, доступный, достаточно освещен в книжках.
Речь исключительно о редакторе GUI в IDE. Чтобы нажатие кнопки вызывало метод без программирования самой кнопки. Иначе на чем пилить карманные проекты с тремя кнопками и выводом данных из файла в табличку ретарду вроде меня? На HiASM.
Да. Причем даже корпорации терпят неудачи пытаясь перевести всех на свое говно, которое никому в итоге не нужно. У микрософта и гугла целый зоопарк аналоговнетов. Silverlight, dart и т.д.
Если нужны окошки - то юзай шарп, qt, js electron
>Silverlight
Так он уже умер давно, лет 7 назад майкрософт об этом открыто заявила и прекратила поддержку
Есть GUI программы, написанные на питоне. Например, популярный биткоин клиент Armory
> удобным инструментом работы с интерфейсами без PyQt5 и прочих костылей.
Ты думаешь, что программы на C++ обходятся без Qt? Нет, её все используют абсолютно таким же образом как и pyqt. Даже мануал общий.
> Чтобы нажатие кнопки вызывало метод без программирования самой кнопки
self.button.clicked.connect(self.your_method_name)
Это ты вводишь в заблуждение.
1. Armory написан на питоне
2. Armory имеет графический интерфейс.
Qt написан в машинном коде. Но это не мешает тебе ошибочно разделять использующие его програмы на C++ от программ на python.
Ты даунич? Даунич? Даунич!
>Я не о бэкенде и скриптах, а о полноценных только на одном питоне. Т.е., грубо говоря, могу ли я написатьна питоне для линукса, например, собственный календарь с гуём и мокрыми письками?
Да смысл не в быстроте. На Си можно сделать програмку с окном весом 100 кб. На питоне ты тянешь интерпретатор 3 Мб и Qt библиоетку 60 МБ, которая написана не на питоне! Посан спрашивал можно ли общаться с ОС средствами только питона.
Я обмазался питоном и qt пару недель назад. За это время в треде увлек еще пару человек. Единственный недостаток программ на пистоне - это нескрываемость твоего кода. Т.е. откомпиленная прога представляет собой архив с твоим скриптом + интерпритатор питона. При запуске она распаковывает это все во временную папку и оттуда работает.
Под питухон есть обфускатор. Потом компилишь в питон байткод, если у кого-то есть столько времени коврять байткод то он и машинный код декомпилирует.
А как казахский связан с ивритом?
http://effbot.org/pyfaq/how-do-i-create-a-pyc-file.htm
Питон итак компилит все исходники перед запуском в байткод. Так если написать
python -m py_compile myscript.py
Появится pyc файл - байткод виртуальной python машины.
Его можно заупускать как и обычный py файл.
Открой pyc в текстовом редакторе и посмотри че там. Но это можно более менее восстановить программно. Если нужно более идешь на гитхаб и ищешь обфусуатор. После прогона обфускатора восстановить в исходный код невозможно. Проверял сам давно. Все имеющиеся в паблике декомпилеры/деобфускаторы обсираются.
>Он жрет много оперативки, долго грузится,
На ноуте с 4гб оперативы и обычным HDD на 750гб работал отлично.
Если для тебя так важна скорость - купи себе SSD минимальный и оперативы докинь.
1. хорошая альтернативная документация с примерами https://www.tutorialspoint.com/python/python_classes_objects.htm
2. в картинках https://www.programiz.com/python-programming/multiple-inheritance
без env видимо сидишь
поясните за следующий код:
for i in range(911):
sys.stdout.write('{}\r').format(something)
sys.stdout.flush()
когда запускаешь этот код через консоль, в строке выводится по очереди какие-либо значения. что делает flush() я разобрался.так вот, почему это работает так именно с \r? это-же всего-лишь возврат каретки. почему программа не начинает выводить значения справа налево?нихуя не пойму
что нет?
Как отсортировать словари по цене?
Спасибо
Не клинер, я ебучая прошивка, которую заменить нельзя: бутлоадер все ещё не взломали. И уже не взломают.
ФПС-метер остался после дебага одного приложения, лень выключать.
Скорость передачи данных нужна для обнаружения затыков модем, тогда просто сеть передергиваю. Телефон старый.
>почему программа не начинает выводить значения справа налево?
А с чего она должна это делать?
Представляешь себе, как выглядит печатная машинка? Вот напечатал ты некую часть строки, затем подвинул ту самую каретку в начало строки и пошёл печатать дальше. Сдвинется у тебя куда-нибудь уже написанный текст? Нет, ты просто поверх него печатать начнёшь.
то есть, грубо говоря, текст просто перезаписывается?
Мимонуб
>>>1130723
>без env видимо сидишь
Я просто создал несколько файлов vk.py и компилятор запускал не тот файл. В этом вся проблемс.
чтобы у тебя не запустился скрипт когда ты его импортируешь.у импортированных скриптов __name__ = название скрипта
например:
>>>import math
>>>math.__name__
>>>'math'
если просто написать print(__name__) или __name__ в питон шеле, то значение будет 'main'
как-то так
Забыл спасибо.
это атрибуты классов
Спасибо.
Совсем еблан, да?
Cпасибо!
Там буквы непонятные.
Оцените, хули. Обработал неверный ввод пользователя, алсо.
https://ideone.com/6HO5e8
Посоны используют isinstance
https://stackoverflow.com/questions/3501382/checking-whether-a-variable-is-an-integer-or-not
Ты гений.
Пошел дрочить на регулярки. До свидания.
Говно какое-то, как сделать, чтобы один раз было?
string = input()
result = re.match(r'89[0-9]{9}', string)
if result != None:
____print("YES")
else:
____print("NO")
Ладно...
Ну это уже извращение. Там такой кракен вылезет если это учитывать.
Ну а хули, вузовская программа, но это всяко лучше, чем составлять блядскую регулярку на пол экрана
Нет
На самом деле они простые
Три составляющих
1) Алфавит, который состоит из символов, принимаемых программой
2) Состояния от которых зависят функции перехода
3) Функции перехода, которые осуществляют изменение состояния
Вот тебе почитать на ночь поизучать
https://www.youtube.com/watch?v=oQiByfy0DyE
https://stackoverflow.com/questions/35272592/how-are-finite-automata-implemented-in-code
http://pythonfiddle.com/dfa-simple-implementation/
Спасибо большое!
Несложно. Нужно в цикле перебирать номера тредов, подставлять их в ссылки и скачивать страничку с тредом с помощью urllib. Затем в каждой полученной сделать поиск картинок регулярным выражением и скачать найденные картинки тем же urllib'ом.
Я вот такое как-то делал на коленке по-быстрому.
https://pastebin.com/jL5RzdwY
Можешь перепилить на асинхронщину(хотя бы скачивание изображений) и норм будет.
какой же ебанутый язык.
в други языках я так для красоты делаю. но чтобы бросать ошибки, если вдруг случайно отступ не поставил - такого я еще не видел.
Ну, чё ты, нипацан чёле? Для разбора json у питона есть готовая библиотека. До ссылок на треды сможешь добраться односй строчкой типа json.abu.thread[121]
то есть, грубо говоря, все функции и сам вот этот >if __name__ == '__main__': не выполнятся на стадии импортирования, а только потом, когда сам вызовешь скрипт?
полный хохотач, особенно когда ты чайник
Так, аноны, нужна помощь.
Всё сделал как здесь
https://www.youtube.com/watch?v=m_agcM_ds1c
Но при запуске выдаёт:
Traceback (most recent call last):
File "D:/.../1.py", line 29, in <module>
imagefile.write(urllib.request.urlopen(image).read())
File "D:\...\lib\urllib\request.py", line 163, in urlopen
return opener.open(url, data, timeout)
File "D:\...\lib\urllib\request.py", line 451, in open
req = Request(fullurl, data)
File "D:\...\lib\urllib\request.py", line 269, in __init__
self.full_url = url
File "D:\...\lib\urllib\request.py", line 295, in full_url
self._parse()
File "D:\...\lib\urllib\request.py", line 324, in _parse
raise ValueError("unknown url type: %r" % self.full_url)
ValueError: unknown url type: ''
Ну я так и понял, что будучи импортированным она присваивает 'main' и не выполняет функции. Спасибо.
Если ты не будешь так делать, когда станешь разработчиком, то дядя тимлид будет бить тебя палкой по ебалу
Все верно бро пишешь, от себя добалю, что Cython является самым лучшим обфускатором, на всей планете, после прогона такая запутанная дрисня получается и еще потом в машинный код компилируется, я так делаю с коммерческими веб проектами, например можно перегнать сайтоном все файлы Джанго проекта. А всякие php обфускаторы ломаются быстро
>imagefile.write(urllib.request.urlopen(image).read())
Я так понял урл почему-то не передаётся, поэтому ошибка.
Херня какая-то. Потому что print(image) выдаёт список ссылок на картинки вида https://... image.jpg
Забил в урл этот тред - всё качается, хоть и через жопу.
А ссылка с архива - нет. Бедапечаль.
https://ideone.com/LMj9Ej
Есче есть pycurl, который раза в 3 быстрее реквеста, а urllib из стандартной библиотеки, какой-то пердолинг постоянно и много кода писать
>Есче есть pycurl, который раза в 3 быстрее реквеста
Вы ебанутые? Нахуя вы дрочите на производительность, когда в данном случае бутылочным горлышком является скорость ответа сервера. Хоть в 1000 раз быстрее будет ты все равно этого не заметишь. Скажи ему пусть на го с плюсами все это переписывает.
Где тебе скорости реквеста не хватает?
И да, в таких случаях нужна асинхронность, пусть от этого идет, если хочет увеличения скорости
>пусть на го с плюсами все это переписывает.
>Нахуя вы дрочите на производительность, когда в данном случае бутылочным горлышком является скорость ответа сервера.
Вы уж определитесь молодой чебурек
Это как пример бессмысленного увеличения производительности был, сарказм
Pycurl есть multiCurl(), пример
https://fragmentsofcode.wordpress.com/2011/01/22/pycurl-curlmulti-example/
Либо на деле проверить с помощью этого и понять, что requests сильно сосет. Сделал личный бенч по парсингу 1000.000 урлов со страницы и получилось где-то в 1.5 раза медленнее чем на Golang
Что юзает assertEqual для сравнения.
Есть класс, в котром определен __eq__
есть тест
self.assertEqual(ClassName(10), ClassName(10))
__eq__ очевидно сравнивает по параметру, который я передаю в конструктор
Вот вчера, когда написал, всё работало, сегодня запустил — не работает, поменял на self.assertTrue(ClassName(10) == ClassName(10))
Всё работает, вернул обратно, тоже всё работает, что это значит?
Ну-ка объясните ещё раз, пожалуйста.
Если я пишу вот так:
soup = make_soup("https://2ch.hk/pr/res/1130518.html (М)")
for img in soup.findAll('img'):
temp = img.get('src')
if temp[:1] == "/":
image = "https://2ch.hk" + temp
else:
image = temp
У меня качаются превью. Оригинальные картинки в другом месте - пик.
Но если я напишу:
for img in soup.findAll(a href'):
temp = img.get('href')
Нихуя не происходит.
>Вот вчера, когда написал, всё работало, сегодня запустил — не работает
Оно нормально работает, значит ты что то там поменял, но не заметил
Падажжи, сначала тут разобраться надо.
Исправил, теперь так:
soup = make_soup("https://2ch.hk/pr/res/1130518.html (М)")
for img in soup.findAll('img'):
temp = img.get('src').replace('thumb', 'src')
if temp[:1] == "/":
image = "https://2ch.hk" + temp
else:
image = temp
print(image)
В темпе теперь ссылки на оригинальные файлы
https://2ch.hk/ololo/b_7.gif (М)
https://2ch.hk/banners/wZaKDEQV6dgLZpsp.jpg (М)
https://2ch.hk/pr/src/1130518/15175350414560s.jpg (М)
...
https://2ch.hk/pr/src/1130518/15175488909090s.jpg (М)
Вот только остальной код >>1926 не работает - скачивается только баннер.
Нет
> Есче есть pycurl, который раза в 3 быстрее реквеста
Во-первых, какая разница на сколько он быстрее, когда 99% времени занимает передача данных. Во-вторых, есть aiohttp.
Блядь, да используй же ты нормальный json из >>1465, где нормальные ссылки уже есть.
Нахуй вот ты на вопрос "что в temp'е после findAll('a href')" пишешь, что "исправил, там то-то"? Это совсем другой вопрос.
>Мне нужно вычленить ссылку где <a href
Я не пользовался супом ни разу, но, полагаю, что как ты делаешь
>findAll('img') .... img.get('src')
нужно делать
>findAll('a') .... img.get('href')
И будет тебе твоя полная ссылка.
>temp = img.get('src').replace('thumb', 'src') нихуя не даст.
Что ты сделать-то хотел? Если ты так хочешь топорно ссылку поменять, то ещё 's' с конца нужно убрать, о которой тебе уже сказали.
>feff00530074006100740065006d0065006e0074
# python3
import binascii
binascii.unhexlify('feff00530074006100740065006d0065006e0074').decode('utf-16')
Есть PyCharm и скрипт в нем, есть PyQt5 и форма, созданная в дезигнере.
Как их соединить, чтобы сделать ввод-вывод через форму? Везде пишут о каких-то преобразованиях формы в питоновский код и другие извращения, но очевидно, что в PyCharm должен быть простой способ привязать форму как объект, типа в пару кликов.
Ну пока что эта хуйня только с определенного треда все закачивает. Чуть позже сделаю, чтобы и со всей доски. Это же несложно: получаешь список тредов доски, проходишься по нему и так далее.
>Ну пока что эта хуйня только с определенного треда все закачивает. Чуть позже сделаю, чтобы и со всей доски. Это же несложно: получаешь список тредов доски, проходишься по нему и так далее.
Вы используете 2ch API?
Да. Парсить же заебешься, да и пиздецки долго это будет.
Но если так, то все норм почему-то. Не ругается.
Просто через консоль проверь, если работает, то настрой в пайшарме правильно интерпретатор File> settings> project> project interpreter и там выбирай тот, в котором установлен модуль
а вообще наворачивай виртуальную среду.
Не работает. Эшлэмэй.
не то, что в пхп фреймворках, где черт ногу сломит.
Поддерживаю и полностью бесплатный в отличии от остального говна, которое хер знает под какими лицензиями. wxpython 4.0 как раз могет уже в python 3.5, в итоге бинарник под виндувс 10mb, а на линуксе и macOS еще хорошо цепляется браузер WebKit
Он еще проще как по мне.
Собственно так абсолютно со всем(css,html,django)..
Кто сталкивался? Пишите ответы.
Я когда жопой начал чуять, что меня из вуза скоро отчислят и родители перестанут деньги пересылать сидел по 12 часов в день с перерывами, за месяц освоил джангу, верстку, бд и жс. Пифон до этого пару лет очень неспешно дрочил. Нашел работу с первого собеседования. Заебись.
Я понимаю, почему ты так ответил.
Я думаю надо, ибо я дошел до ООП, на хтмл+цсс могу что-то простое смастерить, но дальше простых вещей не заходит.
Мне просто чего-то не хватает, какой-то мотивации что ли, а быть может пинка под сраку..
Только не надо говорить, что ты должен гореть этим и.т.д. Все это делается ради денег.
Конечно, но хотябы интерес должен быть или иметь мотиватор какой-то например хотеть жрат
Тогда реквестирую такую тему.
Работаю 5 через 2, времени на изучения не так уж много. Каждый раз думаю, что в выходные займусь делом, выучу что-то новое, а в итоге ничего, тупое просирание времени. Это касается не только питона, но и остальных вещей.
Ну вот видишь, нету у тебя стимулов учить. Выдохни и не загоняя сам себя. Зачем тебе питон ?
Даже дело не в питоне, я мне наверное в /psy/..
Сильно зависит от области. Но везде надо знать Линукс потому что питон на винде ни кто не использует.
-Гоните его!
На работе ?
Для laba1.py ?
https://m.youtube.com/watch?v=UXM00RrfXFk
верстка, конечно, пиздец.
Ниправдо. По воле аллаха я использую.
Потому что в php бабло делают, а в питоне учатся.
возникла сложность.
В линупсе у меня есть консольная приложуха, что принимает команды и даёт ответ. Как мне доебаться до нее через код питона? Хочу запускать приложуху, давать ей команды и забирать выхлоп. Ей богу, голову уже сломал. Полагаю, без глубокого понимания работы stdin/out не обойтись, я верно понимаю?
1.11 будет поддерживаться еще года 3, но да, четкие змееукротители уже перешли на 2.0
>четкие змееукротители уже перешли на 2.0
Они еще до сих пор сидят на питоне2.7 и перейдут, только в году так 2020, когда уже точно будет похоронена 2 ветка, в последний день будут все переписывать и слюнями брызжить , почему этого не сделали в 2015
Бери пока 1.1 версию. Это LTS версия еще долго будет пыхтеть, на 2.0 можно легко будет перейти, главное не писать проекты на python2
в джанге еще быстрее
import subprocess
наговнокодил парсер доков через вк апи. ссыт на ебало по скорости докс майнеру и предыдущему парсеру(который не работает)
пишите если найдете баги
бтв можете поиграться в кол-вом запросом за раз(если разгребете эту парашу).но у меня уже на 2500 через раз работает
фиксед
Вряд ли она сама делала. Она же девушка, значит - тупая.
Какая милота. Хорошо что никто не стал пятисотку обговаривать, тактично промолчали, молодцы.
Пиздец же, ну.
>os.system('path %PATH%;{}\AppData\Local\Programs\Python\Python36-32\Scripts'.format(path))
Проиграл.
Алсо,
>русик, русик, русик, хуяк, прогресс и последний вывод на английском
Зачем?
> ссыт на ебало по скорости докс майнеру и предыдущему парсеру
А ты смешной. Написал очередной йобо-парсер на реквестах и думаешь, что он быстр.
Без многопоточности/многопроцессорности/асинхронности(любимое подчеркнуть) с возможностью подключения нескольких акков и работы каждого акка через прокси - пройдите на парашу.
django-admin startproject mySuperApp
django-admin startapp learningEnglish
или лучше разделять слова нижним подчеркиванием? вы как делаете?
Без СМС?
(\+7|8)([0-9]{9}|\(987\)|-[0-9]{3})([0-9]{6}|-?[0-9]{3}(-[0-9]{2}){2})
Я не понял, почему у тебя там буквально "987", ты, наверное, хотел
Ю(\+7|8)([0-9]{9}|\([0-9]{3}\)|-[0-9]{3})([0-9]{6}|-?[0-9]{3}(-[0-9]{2}){2})
Однако же, ты теперь сломал всё то, что раньше должно было бы работать!
Последняя цифра даже не входит же! То есть, он заматчит 10 цифр и букву, например.
В общем, согласо моему чувству преркасного написал небольшой список тебе для тестов — https://pastebin.com/ujV59Hb7
Однако, варианты с пробелами можно игнорировать и вообще их удалять из строки перед проверкой регексом.
Cпасибо.
Это иммутабельный объект, его нельзя изменить, только сделать новый, можешь bytearray побаловаться, если хочешь
Зачем надо было так делать?
(\+7|8)((-?[0-9]{3}-?)|(\([0-9]{3}\)))((-?[0-9]{3}-?))([0-9]{2})((-[0-9]{2})|[0-9]{2})
Вообще, это по мне надо еще и циклом проходить.
Тоже норм.
Слайсами. Но не изменять, а создать новый.
Вот мой говнокод - https://ideone.com/xpPCwe
При попытке присвоить строку запроса mysql с переменной _SQL выпадает ошибка
mysql.connector.errors.ProgrammingError: 1054 (42S22): Unknown column 'phrase' in 'field list'
стоит добавить что когда записывал лог данный в файл, все было хорошо. что значит в шаблончиках jinjer2 ошибок не допустил
Покажи код страницы после рендера
При get запросе у тебя откуда данные формы возьмутся?
Ну и структуру базы, хули
А на чем есть?
Ну тип фунциональщина, лямды там, мап/редьюсы, каррирование, функции высшего порядка, у-комбинаторы. Круто же звучит!
sorted(d.values())
Я просто как пример на кидал , вон даже key= забыл :3
Нет, для геев жс параша, а это для мамкиных борщехлебов.
анон, есть нужная мне приложуха на гитхабе и лоускильный я. Хочу разобраться в ней с целью допиливания под себя(контрибьюторы похоже постепенно забивают на неё) и заодно немного прокачаться в питон-кодинге
Ткни пожалуйста в какие-нидь книги/статьи по реверс инженирингу чужих питон прилаг
Проиграл
Ты писать на питоне умеешь? Вот сначала этому научись, а потом и вопрос сам собой отпадёт.
онли скрипты для ансибла и небольшие проги для расчетов различных эллиптических фильтров
Лутц "Изучаем Python" все разжевано до невозможности
Её ты к вечеру напишешь уже. А учиться надо медленно, чтобы «мозги отдыхали», и долго.
Получается, что создаётся одно множество на весь массив или каким-то образом копируется.
class N:
p = set()
a = []
for i in range(3):
#создаю объект
n = N()
#в этот объект добавляю число. В данном случае итератор.
n.p.add(i)
#добавляю этот объект в массив
a.append(n)
#должно выдать, что в множестве первого элемента массива всего одно число 1
#а у меня выходит, что там множество из 3х элементов (1, 2, 3)
print(a[0].p)
Дружок-пирожок, посмотри-ка в какой области видимости у тебя 'p' и почитай про self и __init__
Спасибо, разобрался.
с бекграундом в других языках написал за пару недель на питоне десктопное приложение.
Лучше выкатись из айти
Допустим есть список с цифрами и лог. элементами True/False.
Мне нужно найти только нули у удалить их, но с нулями считаются и лог. элементы False.
Как это обойти?
Покажи код
А ещё 1 == True!
Очевидный способ: проверять ещё и тип переменной: type(a) == int или != bool.
Подозрительным вариантом, вместо проверки на тип будет сравнение через not is False.
Ну и самый короткий, но сомнительный, это 'is 0'. Работает по той причине, что некоторое количество первых интов (256) в питоне посстоянно хранятся в памяти и новый объект не создаётся, все ссылаются на один и тот же.
https://repl.it/repls/CulturedWorrisomeSwellfish
ctypes, гугли python ffi
Я не программист. Это не моя профессия. Изредка лишь пишу различные скрипты уровня hello world. Максимум, еще в универе писал кросс-компилятор для каких-то там однокристаллок на C. У меня постоянно создается ощущение, что я пишу полнейший говнокод, делаю костыли из костылей при решение простейших задачах. Сам я занимаюсь компьютерными сетями, обслуживаю сеть одного Интернет-провайдера. Недавно я писал несколько скриптов для автоматического создания конфига для dhcp сервера(на всякий случай, это тот, который всякие сетевые настройки раздает: ip, маску, dns и т.д.). dhcp имеет возможность использовать различные опции для различных задач. Меня интересовала option 82(https://www.ietf.org/rfc/rfc3046.txt), которая, в том числе позволяет выдавать ip адрес на основании mac-адреса коммутатора и номера порта коммутатора. Проще говоря, с помощью данной опции мы можем привязать конкретный ip к конкретному порту конкретного коммутатора. Я создал БД, в которую забил коммутаторы и подсети, которые привязаны к данным коммутаторам. Затем написал скрипт, которые при добавлении нового коммутатора в БД, выделяет свободные ip для него из привязанной подсети. Код максимально простой, но тем не менее, мне кажется, что я обосрался по полной. Анон, посмотри, пожалуйста, своими опытными глазами(я думаю, что для тебя это семечки), подскажи, что можно было бы сделать лучше и как. И вообще, есть какой-то секрет/книга, которая позволит писать правильно?
Или без реального опыта все тлен? Пикрелейтед.
Господа, кто-нибудь из вас когда-нибудь писал скрипт для отправки на осциллограф синусоиды с амплитудным смещением?
>for i in range(len(res)):
замени на
> for item in res:
и работай с item как с res
Залей на пастебин какой, чтобы можно было видеть нумерацию строк и предметно говорить.
Руками лазить в дб не круто. Хотя ORM тут будет оверкиллом, наверное. Но формировать запрос базу подстановкой ( % ) точно не круто. Хорошо, что у тебя нет пользовательского ввода, и дыры в безпеке тоже нет.
Тут читай
http://initd.org/psycopg/docs/usage.html#the-problem-with-the-query-parameters
>но тем не менее, мне кажется, что я обосрался по полной.
Видал я код и пострашнее.
> И вообще, есть какой-то секрет/книга, которая позволит писать правильно?
fluent python, effective python
кстати как сетевик, ansible поизучай, пригодится
успехов
мимо-ццнп
>for i in range(len(res)):
замени на
> for item in res:
и работай с item как с res
Залей на пастебин какой, чтобы можно было видеть нумерацию строк и предметно говорить.
Руками лазить в дб не круто. Хотя ORM тут будет оверкиллом, наверное. Но формировать запрос базу подстановкой ( % ) точно не круто. Хорошо, что у тебя нет пользовательского ввода, и дыры в безпеке тоже нет.
Тут читай
http://initd.org/psycopg/docs/usage.html#the-problem-with-the-query-parameters
>но тем не менее, мне кажется, что я обосрался по полной.
Видал я код и пострашнее.
> И вообще, есть какой-то секрет/книга, которая позволит писать правильно?
fluent python, effective python
кстати как сетевик, ansible поизучай, пригодится
успехов
мимо-ццнп
>>3349
https://pastebin.com/vPVKSA7Q
Я тоже ccnp rs, ansible юзаю.
Кстати, ты еще сетями занимаешься? Что там у вас с SDN, NFV? Есть движуха в эту сторону?
>fluent python, effective python
Спасибо.
Цвет, блять. С цветом фона ты обосрался.
>Кстати, ты еще сетями занимаешься?
Профессионально пока нет. На шайбу коплю. И на лабу домашнюю.
У коллег, у кого интересовался, сейчас максимум автоматизации - генерация конфигов тем же ансиблом.
по SDN пока только в амазоне видел авторазвертывание и настройку VPC через всякие terraform
По коду - короче, я в твоих структурах данных (строки 53-64) нихрена не понял. И ты через месяц-другой не уверен что поймешь, что там куда. Выдели отдельные сущности - Свитч, порт, сеть, создай соотв. классы. Возможно, хватит одного класса для свича.
И называй переменные более понятно. Это не сишка, тут можно не экономить на названиях.
Хватит конечно.
Я хочу свичи на железе поковырять. LACP, волшебный первый влан, CDP. xSTP не на экстримнетворкском эмуляторе, а на настоящем железе. Еще взаимодействие каталистов и джунов.
Я просто немношк аутист.
Бля, каждое утро пишу парочку
Ну как вкатываться, я немного писал бота на телегу как и 99% людей треда наверное, но что дальше то делать? Хочется как-то развивать себя, а че писать, не знаю.
Говорят Лутц Программирование в Python #4 поможет, но так ли это?
потому что второе выражение создаёт объект типа set. У нас сет переводят как множество.
В отличие от list и tuple, в нем элементы неупорядочены, как в словаре , который тоже объявляется фигурными скобками.
https://pythonworld.ru/tipy-dannyx-v-python/mnozhestva-set-i-frozenset.html
Можно вообще-то было самому этот пример выполнить и посмотреть через type(), что выдаётся в результате.
Хочу спросить по сабжу. Как учил? Какие задачи себе ставил/мб решал на каком-то сайте и что читал?
Лутца было достаточно для начального понимания, изредка на codewars заходил. Вообще, самое лучше для прочачки это что то делать, так ты сто раз отстрелишь себе пальцы, но поймешь, как оно происходит. Первый раз что то серьезное было, когда хотел на летнюю стажировку интела для студентов скататься, написал систему для перегонки логов в MongoDB + очень простой фронт но так и не прошел(, для меня стало открытием, что всякие ништяки можно пилить достаточно просто, сделал пару вещей для себя типа консольного файлового менеджера. Самое интересное, что читал был Лучано "Python К вершинам мастерства", после него уже полностью структурировал знания и настал месяц, когда понял, что сдавать долги будет невыносимо лень и начался тот самый месяц, который описал выше
Учил по лутцу, пописывал в универе и на работе когда был эникеем всякую простую автоматизацию.
в 2010 было оч легко вкатиттся
>Лучано "Python К вершинам мастерства
Кто-то еще за эту книжку словечко замолвит? Я типа опытный, но не в питоне. Насколько она мне подходит?
Годная книжка, мне понравилась
-----for j in self.mx_wide:
----------self.mx_wide[j][1][1] = center
----------self.mx_wide[j][0][1], self.mx_wide[j][1][0], self.mx_wide[j][1][2], self.mx_wide[j][2][1] = edges
С какого-то хуя пишет, что во вложенном цикле индекс должен быть интежером. Как исправлять?
for и in self.mx_wide[и]:
-----for j in self.mx_wide:
----------self.mx_wide[и][j][1][1] = center
----------self.mx_wide[и][j][0][1], self.mx_wide[и][j][1][0], self.mx_wide[и][j][1][2], self.mx_wide[и][j][2][1] = edges
1) Выражение for x in open('Test.txt', 'r'): правильно?
2) Могу я х сразу другой функции передать? Или значение х присваиваем сначала другой переменной, а потом её скармливаем функции?
Мочерок, иди нахуй.
1) Нет.
2) Хуйню пишешь.
def your_fun(a: str):
••••print(a)
with open('file.txt', 'rt', encoding='utf-8') as f:
••••your_fun(f.read())
file.txt:
huy
$ python a.py
> huy
> как её прикрутить?
proxy = urllib2.ProxyHandler({'http': '127.0.0.1'})
opener = urllib2.build_opener(proxy)
urllib2.install_opener(opener)
urllib2.urlopen('http://www.google.com')
А когда найдешь - расскажи.
Ламерский вопрос - можно ли в pandas перебирать строки конструкций типа
for row in dataframe1 ? (если так написать, то выдадутся не строки, а только имена столбцов)
Если да, то как ?
Таким подходом точно нельзя. Попробуй как-то реализовать перебор каждого элемента строки по одинаковому индексу столбца.
Да к а захер ты тогда это безпонтовое от http говно выкладываеш, оно нифига не анонимно и конечный сайт легко определить всю связку и откуда делался сам запрос
http и socks прокси одинаковы в своей анонимности.
>1) Выражение for x in open('Test.txt', 'r'): правильно?
Да. open() вернет file object, по нему можно итерировать. Но лучше обернуть в with
>2) Могу я х сразу другой функции передать?
в цикле да
код пришли свой, будет понятнее
PyPy(Numba),Cython,CPython
Я в упор не врубаюсь что есть что и что из себя представляет. Сколько не читал, везде при сравнении пишут противоположные вещи.
Если я правильно понял
Cython - используется для вызова функций из Си(даёт возможность писать на Си прямо в коде питона?)
На СPython пишутся встраивающиеся модули Си(т.е он тупо имеет другой синтаксис? Но блджад, почему он тогда быстрее работает?)
А PyPy - просто... интерпретатор но я хз как он работает и как на нём "пишут" ту же Нумба.
1) Что из этого использовать?
2) Как их правильно классифицировать доступным языком
3) Что из этого быстрее. Может есть график?
Мозг кипит, помогите
мне нечем оптимизировать свой говнокод. Я и так выжал из ноды всё что можно было на стандартном питоне, я уткнулся в потолок.
Если бы мне это не нужно было, я бы тут блять не писал
CPython - оригинальный
PyPy - оптимизированный, но совместимый с оригинальным
Cython - оптимизированный в ущерб совместимости.
Нет. Гемороя меньше с CPython.
Есть такой апп: https://github.com/jaredly/django-colorfield
Я подставил его в филд в модели. Но работает он, только после того, как в нём что-то выбрать и сохранить.
Например: я нажимаю на "Add color" и у меня появляется филд, в котором дефолтный цвет, например FF0000. При нажатии колорпикер не активный, окошко с выбором не появляется.
Если я сохраню данные, то после этого при нажатии на филд колорпикер появляется. Что это за ебанина? Как заставить это работать "сразу"?
Ну так иди разрабу мозги еби https://github.com/jaredly/django-colorfield/issues че сюда то пришёл?
Чё злишься? Я посмотрел код, он написан "правильно", то есть так, как и нужно - скрипты объявляются правильно, без хуйни. вроде, без хуйни
Я расчитываю на тех, кто делал похожие хуйни и пихал свой жс в джангу. Что сделать чтобы этот скриптик можно было при-рендерить? Или как ещё заставить это работать?
>>4127
>Если я правильно понял
>Cython - используется для вызова функций из Си(даёт возможность писать на Си прямо в коде питона?)
Нет, cython это надмножество питона. Считай, немного другой язык. Канпелируется в бинарники.
>На СPython пишутся встраивающиеся модули Си(т.е он тупо имеет другой синтаксис? Но блджад, почему он тогда быстрее работает?)
Cpython это обычная реализация python, написанная на C.
>А PyPy - просто... интерпретатор но я хз как он работает и как на нём "пишут" ту же Нумба.
pypy это оптимизирующий канпелятор. То есть замена cpython
>
>1) Что из этого использовать?
Конкретно что ты делаешь? При профилировании какие операции жрут большое всего ресурсов?
>одну перспективную йобув основном занимаюсь клиентом с перспективой перспективного протокола на смену XMPP
Как можно столько написать и ничего не сказать по сути? Где конкретно тормозит? Криптография? Десериализация?
>Как понимаю с PyPy гемороя меньше и он перспективнее
Меньше всего гемороя, если задача позволяет, просто нужные части модуля на си написать.
Можно минималистичное как говно, можно с велосипедами - мне чисто шаблон нацепить и пущай пиздуют нахуй.
Какой вуз если готов за миску риса работать стажёром то можешь в Accenture в катится у них в Риге есть бигдата отдел
def new_login(bot, request):
data = request.get_json()
sha256_hash = data['hash']
del data['hash']
data = collections.OrderedDict(sorted(data.items()))
check_string = ''
for key, value in data.items():
check_string += '%s=%s\n' % (key, str(value))
check_string = check_string[:-1]
secret = hashlib.sha256('какой-то токен'.encode('utf-8'))
secret = bytes(secret.hexdigest(), 'utf-8')
message = bytes(check_string ,'utf-8')
check_hash = hmac.new(secret, message, hashlib.sha256)
print('Получили: ', check_hash.hexdigest())
print('Должно быть: ', sha256_hash)
if check_hash.hexdigest() == sha256_hash:
return 'Success', 200
else:
return 'Error', 403
Отсутствие опыта. Нужно чтобы совпадали не только разрядность Apache, mod_wsgi и python, но и версия компилятора VC. При этом хочется еще и php. К счастью БД можно брать любой версии. В denwer есть пакет расширений с python2,5 (2010г), что сильно устарело. И вообще я уже не нахожу где взять mod_wsgi под виндоус.
Но и там нихуя не работает при попытке установить подходящий mod_wsgi "Not supported item on this platform". Как бы это и есть демонтрация всей убогости питона. Его единственной преимущество перед php - поддержка асинхронности под windows. Все остальное - сплошной недостаток: убогая документация, убогие инструменты, нерабочие сборки и библиотеки. Убогий ООП. Этот язык очень далек от уровня php.
Пхпшник хуже червя питониста.
Что ты ещё хочешь от пхп дауна?
Толстовато, зарепортил.
Нинужен
Гитхаб.
Спосиба.
Сам себе отвечу
print(datetime.utcnow() - timedelta(hours=2))
Мануала в питоне нет. Есть лишь бесполезная имитация.
https://pastebin.com/nHAqVE4Q
У тебя data1 и data2 просто так доступны как глобалы. Ты не создавал питест-фикстуры (которые есть функции). Тупо удаляешь параметры тестов и всё.
Нет. Ты хочешь сделать сложное просто. Например у тебя переходы на летнее время сломаются. Или страна изменит свои таймзоны и тебе придётся вручную чистить код.
datetime.datetime.now(tz=pytz.timezone('Indian/Maldives'))
Объясните простонародным языком про pandas
import pandas
p1=pandas.DataFrame(data=[[1,2,3],[4,5,6],[7,8,9]])
print (p1):
(id) 0 1 2
0 1 2 3
1 4 5 6
2 7 8 9
p1.loc[1,[1]] выдаёт
<class 'pandas.core.series.Series'>
который распечатывается так:
1 5
Name: 1, dtype: int64
Почему
a=p1.loc[1,[1]]
print (a[1])
выдаёт5, а a[0] - KeyError ?
Series, включая отдельные строки и столбцы, нельзя перебирать как обычные последовательсности, а можно только по известным индексам столбцов/колонок или надо делать переиндексрирование с 0 перед перебором по порядку ?
Почему iloc[1,1] даёт число, а iloc[1,[1]] - Series ?
Объясните простонародным языком про pandas
import pandas
p1=pandas.DataFrame(data=[[1,2,3],[4,5,6],[7,8,9]])
print (p1):
(id) 0 1 2
0 1 2 3
1 4 5 6
2 7 8 9
p1.loc[1,[1]] выдаёт
<class 'pandas.core.series.Series'>
который распечатывается так:
1 5
Name: 1, dtype: int64
Почему
a=p1.loc[1,[1]]
print (a[1])
выдаёт5, а a[0] - KeyError ?
Series, включая отдельные строки и столбцы, нельзя перебирать как обычные последовательсности, а можно только по известным индексам столбцов/колонок или надо делать переиндексрирование с 0 перед перебором по порядку ?
Почему iloc[1,1] даёт число, а iloc[1,[1]] - Series ?
Откуда у тебя столько визиторов? У меня тоже 18 звёздочек, но там максимум полтора анона заходит в день. Что за новелла, дай поиграть :3
>Cython - оптимизированный в ущерб совместимости
Бред. Нет там никаких оптимизаций. Это гибридный язык питона и сишечки, если ты там пишешь питонный код — компиляется всё в код аналогичный CPython, сишечка соответственно нативно в сишечку. Это нужно только чтобы головную боль от написания экстеншенов поубавить.
Нативно не может. Трансляция python->js несчитова.
Потому что недостаточно активно пропихивали в своё время. Ещё нетскейп сделали жс чтобы можно были однострочники в хтмл атрибуты вставлять а ведь сегодня это чуть ли не антипаттерн.
Так-то в браузеры его уже вставляли:
https://wiki.python.org/moin/WebBrowserProgramming
ctrl+f: Embedding Python inside Web Browsers
Есть ещё https://brython.info/. Но там подводных камней ояебу, технически это уже не совсем питон.
Ещё есть http://pypyjs.org/, настоящий питон на вебассембли. Один недостаток: очень большую бинарь нужно загружать.
Поясните, в чем отличие CRUD (create retrieve update delete) от Create read update delete?
https://m.youtube.com/watch?list=PLEsfXFp6DpzQFqfCur9CJ4QnKQTVXUsRy¶ms=OAFIAVgJ&v=nxxN1EolVTk&mode=NORMAL
Решение чего именно? Как по мне это всё игрульки. Фронтэнд → JS/компилированный wasm с околонулевым рантаймом (сишечка, кресты, раст). Всё. Забудь про питон.
Ни в чём.
Нет, хочу питон.
ПЕРЕКАТ ПЕРЕКАТ ПЕРЕКАТ ПЕРЕКАТ ПЕРЕКАТ
ПЕРЕКАТ ПЕРЕКАТ ПЕРЕКАТ ПЕРЕКАТ ПЕРЕКАТ
>>1134827 (OP) >>1134827 (OP) >>1134827 (OP) >>1134827 (OP)
>>1134827 (OP) >>1134827 (OP) >>1134827 (OP) >>1134827 (OP)
>>1134827 (OP) >>1134827 (OP) >>1134827 (OP) >>1134827 (OP)
Юниттест сосёт у питеста повсеместно. Открой гитхаб и смирись.
Это копия, сохраненная 22 марта 2018 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.