Этого треда уже нет.
Это копия, сохраненная 16 марта 2017 года.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
175 Кб, 1281x719
Python Thread #926403 В конец треда | Веб
https://github.com/TheKnightsWhoSayNi/info/wiki/Hat

Укрощяем интерпретируемового змея. Спрашиваем. Бугуртим. Вкатываемся.
#2 #926406
Питонач в чём отличие class based view от функциональных? Когда какие использовать?
Советуйте.
926483
#3 #926409
Хух, я думал, я один его потерял
#4 #926413
Питухоны, почему вы всплываете?
926414
#5 #926414
>>926413
мимо-джава-довен не палится
133 Кб, 735x864
#6 #926473
Вкотился.
926600
#7 #926477
тони, тони питухон, ты и вправду не нужен
#8 #926483
>>926406
Читай ту скупс оф джанго, там тебе все пояснять.
#9 #926495
Напишите мне какой-нибудь небольшой, но мозголомный код на питоне.
926555
#10 #926555
>>926495

>мне какой-нибудь небольшой, но мозголомный код


lambda fu: pass
927076
#11 #926574
Спрашивал вчера ночью в треде, но потерял тред:
если код на питоне на данном этапе только интерпретируется,
каким образом большие системы согласуют код с новыми версиями питона ?
926606926619
#12 #926600
>>926473
Джава-червь в треде, всем опасаться.
#13 #926606
>>926574
Ребята не стоит вскрывать эту тему. Вы молодые, шутливые, вам все легко. Это не то. Это не Чикатило и даже не архивы спецслужб. Сюда лучше не лезть. Серьезно, любой из вас будет жалеть. Лучше закройте тему и забудьте что тут писалось. Я вполне понимаю что данным сообщением вызову дополнительный интерес, но хочу сразу предостеречь пытливых - стоп. Остальные просто не найдут.
#14 #926619
>>926574

>каким образом большие системы согласуют код с новыми версиями питона ?


блять ты наркоман диванный?
про какие блять системы ты спрашиваешь??
Если проект к примеру написан с использованием фичей питона 3.4, далее выходит питон 3.5 с новыми фичами и проект внезапно продалжает работать ибо обратно совместимы, а вот если ты воспользуешься новыми фичами из 3.5, то на 3.4 уже не запустишь без правки или лапши из трай-ексептов
926629926630927019
#15 #926629
>>926619

> python


> обратная совместимость

#16 #926630
>>926619
только пытаюсь вкатиться, прочел первые 100 страниц книжки
автор постоянно пишет про изменения в вызовах функций
про перенос функций в разные модули
и приводит пример кода, которы на 2.6.х питоне еще работает а на 3+ уже нет
926670
#17 #926670
>>926630
что ты читаешь, вкатывальщик?
2.6 только мамонты пользуют. Иди читай dive into python3
926678
#18 #926678
>>926670
Марк Лутц - "Изучаем python"
926698
#19 #926698
>>926678
Найди последнее издание залупца, где путон 3, и читай.
Оно даже на рашкианском языке есть, если тебе критично.

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

В общем пока можешь не запариваться "совместимостями" и "крупными системами", а просто учись кодить. В будущем будешь легаси жрать и не париться, если вкатишься
932235
345 Кб, 531x531
#20 #926711
>>926403 (OP)

Я щас нахуй уже с ума сойду. У меня потек питон. Никогда бы блядь не подумал, что такое может случиться. Если подробнее, то течет парсер. Вот основная часть http://pastebin.com/g7WajibW . Вот еще кусок http://pastebin.com/JiwjxctF . Пробовал заюзать memory_profiler. Юзал так:

python -W ignore -m memory_profiler manage.py update_apps | grep --perl-regexp "MiB.*?\d\.[1-9]"

В результате получаю: http://pastebin.com/rhmcevt7

По выдаче видно, что потребляемая память постоянно растет. Какого хуя строка типа for screenshot_data in app_data['screenshots'] может отожрать пол мегабайта? Или я не верно интерпретирую ? Почему потом эта память не освобождается? Программа работала 7-10 минут. Помогай анон или я ебнусь.
926759926866
22 Кб, 401x301
#21 #926718
Ребят, покидайте опенсорсных проектов на джанге с гитхаба с быстрым вкатыванием для практики
#22 #926719
>>926718

>опенсорсных проектов


>на джанге


Чет лол
#23 #926759
>>926711
А почему сразу потек? 50 мегабайт это немного. До каких пределов разрастается память?

Основной механизм сбора мусора в питоне - это подсчет ссылок. Когда на объект никто не ссылается, он уничтожается. Сборщик мусора извлекает только циклы из ссылок. Если ты видишь у себя в коде такие циклы, можно их разбить, используя копирование значений, модуль weakref и присваивая None более ненужным объектам. Мало ли, итерация цепляется за итерацию.

В джанговских проектах сборщик вообще можно отлючить ради производительности (как это сделано в инстаграме).
926763
#24 #926763
>>926759
У меня на хостинге парсер сжирает ~300 мб и падает из-за нехватки памяти.

>Сборщик мусора извлекает только циклы из ссылок


Вот это не понял. От слова вообще
926799927058
#26 #926799
>>926763
Ну вообще код слишком простой, чтобы в нем проявлялось что-то вроде бага в управлении памятью. Зачастую дерьмо случается с базой, точнее с ORM. Насколько я знаю, у джанговского ORM есть кэш, а ты как раз картинки прямо в базу сохраняешь. Чего лучше кстати не делать, для хранения статических файлов во фреймворке есть отдельные сущности.

> Вот это не понял. От слова вообще


Если объект А хранит ссылку на объект Б и наоборот, то счетчик ссылок у А и Б всегда больше нуля. А что если А и Б больше не нужны? Подобные ситуации периодически находит и исправляет сборщик мусора. Сборщика можно не дожидаться, и разрушить цикл самому, но этого почти никогда не требуется.
926928
#27 #926854
>>926718
На haskell.org много интересных примеров.
#28 #926866
>>926711
либо у тебя бесконечная рекурсия
либо течет сишная либа, которую ты где-то используешь.
926883926928
#29 #926883
>>926866
Как твоя мамашка течет при виде моего богатыря.
#30 #926896
>>926718
Сайт аддонов для факрфокса вроде как на джанге
#31 #926928
>>926799

>а ты как раз картинки прямо в базу сохраняешь


Там как раз таки база хранит только путь до картинки, а сама картинка хранится на амазоне.

>>926866
Хм, рекурсии вообще нигде нет. Я вот тоже думаю, что какой-нибудь httplib течет
#32 #927019
>>926619
Довен, иди py2 код на py3 запусти - ни в одну сторону не совместим. Одна из причин почему съебал в скалу
927027927041927043
#33 #927027
>>927019
Очень нравится питон, но грустно от такой хуйни становится.
#34 #927041
>>927019
нихуя ты сравнил! твоей скале сколько лет уебок!? посмотрим как ты запоешь когда выйдет хотя бы один люто мажорный релиз. совместимость питона, учитывая насколько он распростаннен и сколько лет уже существует, можно блять всем в пример ставить.
да и съебвл ты на скалу потому что ты скорее всего не программист, а так на коньках вышел покататься, вангую, скоро еще куда нибудь съебешь, например нахуй с этого треда.
#35 #927043
>>927019

>Одна из причин почему съебал в скалу


А вторая заставляют писать на говне мамонта вместо трешки?
#36 #927056
Братики, а что лучше учить Питон или ЖыЭс?
927059927064
#37 #927058
>>926763
http://pastebin.com/g7WajibW 117 строка

> while not last_page_reached:



Если там длинная пагинация, то сборщик мусора будет вызван только по выходу из цикла, а объекты нагенерённые в цикле останутся жить в куче до конца итерации.
Лечицца просто - логика которая лезет в интернет requests оборачивается в генератор, а потом делаешь типо search_page=

Но это вообще первое что бросилось в глаза, мб у тебя там где-то форк бомба спрятана
927116927120927142
#38 #927059
>>927056
Зависит от области.
927060
#39 #927060
>>927059
Просто вкатится в программирование, понять как это работает.
927062927082927323
#40 #927062
>>927060
Питон.
#41 #927064
>>927056
Сорта говна
927065
#42 #927065
>>927064
Жопе слова не давали.
927067
255 Кб, 512x512
#43 #927067
>>927065
И нахуй ты заговорил?
#44 #927072
палите свои опенсорцы, хочу ПАМАГАТ ОПЫТ ПОЛУЧАТ
#45 #927076
>>926555
Ну и хуле тут мозголомного, говна ты кусок?

Пиздец школьник нынче тупой пошел.
#46 #927082
>>927060
Питон.
#47 #927092
есть ли в питоне метод который вызывается на этапе создания класса, не объекта?
927096927104
#48 #927096
>>927092
Да, но это метод не класса, а метакласса.

class Meta:
def __new__(cls, name, bases, dict):
print("My class is creating!")

class Clazz(metaclass=Meta):
....
927101927104
#49 #927101
>>927096
спасибо, то что надо!
927104
#50 #927104
>>927096
>>927092
>>927101
Мне аж интересно стало какое у этого может быть применение.
927108927109
#51 #927108
>>927104

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

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

Я когда ОРМку свою делал (малой был) - использовал эти метаклассы, чтобы можно было половину полей описать в базовом классе, а потом в наследнике не повторяться.
927364
#52 #927109
>>927104
регистрация, валидация и вообще разруливание потомков, в моем случае "плагинов"
#53 #927116
>>927058
Хм, а чому gc начинает работать после выхода из цикла? Или после выхода из итерации? Просто у тебя в одном случае сказано цикл, а во втором итерация. Ведь каждая новая итерация обновляет значение каждой переменной и старый объект gc должен удалить. Или это специфика вызова requests в цикле?
927119
#54 #927119
>>927116
из цикла, из цикла. это специфика реализации циклов в питоне.
#55 #927120
>>927058
Алсо, почему gc будет вызван в конце всего цикла? Это же глупо. В конце каждой итерации, да.
#56 #927123
НЕ ШМОГЛА Я НЕ ШМОГЛА https://www.opennet.ru/opennews/art.shtml?num=45984
927129927134927135
#57 #927129
>>927123
«Некоторые небиологи говорят, что они влились в новый вид. Но биологи знают, что такого в природе не бывает: виды могут только расходиться».
Ну не бывает гибридов в мире языков программирования, не-бы-ва-ет и точка.
150 Кб, 616x725
#58 #927134
>>927123

>всё время при разработке ушло на обеспечение совместимости и снижение потребления памяти, а не на оптимизацию специфичных нагрузок


Всё как всегда кароч
#59 #927135
>>927123
Так пайтон один хуй не про производительность под такими нагрузками. Его хватает для 95% компаний. А дропбокс, яндекс диск и прочие это уже 5%
#60 #927142
>>927058
Не уверен, что правильно тебя понял. Получилось вот так http://pastebin.com/CdnyakZ3 . Ты это имел ввиду?
#61 #927144
Анон, как сделать удобно разнесение настроек settings.py в джанге? Я блядь понять не могу конструкцию с __init__.py и разделением н файлы.
Пытался сделать общий файл для настроек, и файл с особенными настройками для типа продакшена, в итоге ImportError: No module named 'bookstore.settings.settings_global'; 'bookstore.settings.settings_global' is not a package
В __init__.py написал
from .settings_global import *
927148927165
#62 #927148
>>927144
Качаешь Two scoops of django

читаешь:
Using Multiple Settings Files

....

Profit!
#63 #927165
>>927144
Я всегда после startproject ебашу такую структуру
.
projectname
__init__.py
settings
__init__.py
base.py
local.py
development.py
production.py
urls.py
wsgi.py
manage.py
requirements.txt

Там, где был settings.py, появилась директория settings. В ней определена базовая конфигурация в base.py и остальные под каждое окружение. В остальных первой строчкой пишешь from .base import *. В manage.py SETTINGS_MODULE выставляешь как projectname.settings.local. local.py добавляешь в gitignore.
927179
#64 #927179
>>927165
я в таких случаях делаю так:
project
settings.py
settings_local.py
settings_deploy.py

в settings.py определяю все переменные с дкфолтовыми значениями и в конце:

try:
from .settings_local import
except ImportError:
pass

try:
from .settings_deploy import

except ImportError:
pass

settings_deploy.py живет только на деплое.

ну а в джанге другая техника с настройками приложения...
Нужно ЭЛЕГАНТНОЕ решение #65 #927241
Есть один сервер который пилю я в целях обучения. в нем есть обработчик POST запроса, в котором есть такие строки.

ctype, pdict = cgi.parse_header(self.headers['content-type'])

...
elif ctype == 'application/x-www-form-urlencoded':
length = int(self.headers['content-length'])
postvars = urllib.parse.parse_qs(self.rfile.read(length), keep_blank_values=1)

В итоге в переменной postvars оказывается словарь, где пара ключ-значение это имя_формы-значение формы. Например форма с полями логин и пароль передает такие значения:
{b'password': [b'passwd'], b'username': [b'testusername']}
очевидно что все строковые данные это байтовая строка. Конечно, я могу используя for и if где нужно развернуть все это в строки нормального вида (utf-8 офк), но есть ли элегентное решение, мне не нужно их вытаскивать на этом этапе, мне просто нужно чтобы они из строк вида b'somestring' превратились в 'string'?
927250
#66 #927250
>>927241

>>мне не нужно их вытаскивать на этом этапе, мне просто нужно чтобы они из строк вида b'somestring' превратились в 'string'


при конвертации в любом случае придется обращаться к объекту, поэтому

>> я могу используя for и if где нужно развернуть все это в строки

927466
#67 #927288
Эй, змееводы, это нормально, когда после прохождения по учебнику урока, делаешь по гайду проект... Закрываешь учебник, и вроде в коде всё понятно, но самостоятельно написать какой-то другой схожий проект еще не в силах? Угнетает это чувство
927290927294
#68 #927290
>>927288
Напиши бота для телеграма.
#69 #927294
>>927288
Обучение это не линейный процесс. Сегодня ты читаешь две главы в день и ничего толком не можешь повторить не подсматривая, но уже через пару месяцев ты не заметишь как пишешь сам.
#70 #927311
Вечер добрый, захотел научиться программировать на питоне, какие ресурсы посоветуете?
927315928747928756
3962 Кб, Webm
#71 #927314
927318927427
#72 #927315
>>927311
Укус питона.
Простой питон. Современный стиль программирования.
#73 #927318
>>927314
Годно.
#74 #927323
33 Кб, 500x500
#75 #927356
Зацените пикчу! Гы-гы!
927361
#76 #927361
>>927356
Юмор достойный шэринга.
#77 #927364
>>927108
ты у мамки наркоман штоле? а просто отнаследовать базовые поля?

Хотя ты щас скажешь, что твой __new__ метакласса разворачивал таблицы в БД. Ну ок, наркоман ты ебаный
927370
#78 #927370
>>927364
Это шутка была, проверка того факта, что тред кто-то читает :3
sage #79 #927399
Блять, как правильно настроить этот сраный Sublime Text 3 под последний Пистон?
Все нужные пакеты установлены, и всё равно пилит ошибку "can't find '__main__' module in ''" при запуске какого-либо скрипта
#80 #927405
>>927399
PyCharm на Linux или Mac.
Кодить в других местах под другой ОС - кал собачий.
927413
#81 #927413
>>927405
Да есть Pycharm, просто думал какой-нить легковесный редактор прозапас поставить. Не судьба
#82 #927416
Как в PyCharm запустить скрипт в консоли, и работать с его данными там? Очень понравилась эта функция в spyder3
927418
#83 #927418
>>927416
python -i yoba.py
927419
#84 #927419
>>927418
Спасибо, то что надо!
927422
37 Кб, 595x599
#85 #927422
#86 #927427
>>927314
Хуя тебя торчит! Заведи уже себе тян.
927480
#87 #927428
>>927399

>Sublime Text


Удоли это говно и завайпай место на диске, которое оно занимало.
927433
#88 #927433
>>927428
А в чем писать то?
927439
#89 #927439
>>927433
Гугли KaloEd editor.
927440
#90 #927440
>>927439
Накалил твоей мамаше за обе щеки.
#91 #927460
Посоны, подскажите аналог atapt под венду? А то линуксовый кусок у меня получился, а с вендовым хуйня выходит... Я уже спрашивал, но напомню, нужно низкоуровневое получение размера диска и работа с ним. Причём, чтоб это работало хоть на ведре, хоть на винде, хоть на кофеварке. Со всеми линуксовыми клонами более-менее понятно, там есть библиотека fnctl, но ОНА, БЛЯДЬ, НЕ РАБОТАЕТ ПОД WIN!!! Ебусь уже очень долго, но толкового решения так и не нашёл, кроме как писать свою ATA Pass-Through либу под спермак. Есть варианты лучше?
928523
#92 #927464
>>927399

>can't find '__main__' module in ''" при запуске какого-либо скрипта


Тогда тебе стоит научится гуглить.
#93 #927466
>>927250
Мне просто не хочется писать громадный цикл. Как-то можно это через лямбду сделать? Вообще где нормально почитать про них, а то везде как_нарисовать_сову. jpg
927486
#94 #927467
Как я понимаю итт школьников-вайтишники пишут калькулятор?
927468
#95 #927468
>>927467
Нет, просто на твой тупой вопрос всем похуй.
69 Кб, 640x480
#96 #927474
Посоны, как выводить в файл все логи, ошибки если скрипт остановился?
На сервере всё висит через & флаг, хуй узнаешь что за ошибки в случае чего.
927476928624
#97 #927476
>>927474
import logging?
927477
#98 #927477
>>927476
А как делать простой лог ошибок в файл то? Не понимаю я, как везде написано, кучу кода непонятного.
927478
#99 #927478
>>927477
в конфиге логгера все опции. в том числе и эта
927479
#100 #927479
>>927478
Ну и что мне писать чтобы автоматически ловить все ошибки в файл?

import logging
LOG_FILENAME = '/tmp/logging_example.out'
logging.basicConfig(filename=LOG_FILENAME, level=logging.DEBUG)

Этого достаточно? Или что-то еще надо написать?
927487
50224 Кб, Webm
#101 #927480
>>927427

>Хуя тебя торчит! Заведи уже себе тян.

928524
#102 #927486
>>927466
ну блять, так бы и написал что нужно преобразовать словарь, а то понаписал какой то хуйни никому не впившейся... лямбды блять...
вот, держи епта http://pastebin.com/WzJSL0Dc
927505
#103 #927487
>>927479
не помню, смотреть надо
#104 #927505
>>927486
Хули такой грубый, ммм? Энивей спасибо, посмотрю, подумаю.
927507
#105 #927507
>>927505
чоты ебать еще и залупаешься эээ!? пожалуйста хули ебать.
927508927778
33 Кб, 317x372
#106 #927508
>>927507
внатури ебана
927610
65 Кб, 604x453
#107 #927511
Пацыки, ебать, у абезъяны жсон ебанутый по отдаче всех тредов. Как мне написать скрипт, который будет чекать наличие треда с определенным тегом в шапке, и слать мне оповещения в телегу?

Пока вижу такой вариант: каждый час скрипт по крону делает запрос (прошу анона помочь с парсером жсона от макаки), схороняет линку в файл, через час делает снова и сравнивает линку с линкой в файле, если линка не отличается, то скрипт нихуя не выполняет, если отличается, то срёт мне в телеграм. Что я еще забыл?
927512927515
#108 #927512
>>927511
навроде все чотко расписал ебана, только я бы крон выкинул нахуй, да и синхронность тоже нахуй бы выкинул... а захуярил бы потипу такого чонеть http://pastebin.com/AWCnzsa2 внатуре
ну а джсон то хули там парсить? хотя я не видел макакин джсон может там пиздец чурокобес накалялкал.
927514
28 Кб, 343x256
#109 #927514
>>927512
Бля, понял, у меня есть скрипт бота, в котором есть листенер, который слушает все сообщения, ебать и реагирует на них. Крон надо для того, чтоб запускать отдельный скрипт, который нехуя не слушает, а только выполняет команду на отослать меседж. Если я ебану шедулер в главный скрипт бота, то он перестанет слушать сообщения, а будет только страдать хуйней (выполнять действия по расписанию), поэтому пезда нахуй.

По поводу жсона, ты только взгляни на этот пиздец ебаный: http://2ch.hk/vg/index.json (М)

r[0]['zalupa']['konya'][1]['abu']['pidaras']['privet']['thread']['url']

или можно это как-то покороче хуйнуть?
927516927517
#110 #927515
>>927511

>путхон


>крон


Ты ебанутый? Юзай sсhedule либу епта.
927516
#111 #927516
>>927515
Вот написал почему не могу. Очнись нахуй.
>>927514
#112 #927517
>>927514
дак я тебе отдельным скриптом и написал, сразу и шедулер и скачиватель и телего-отсылатель епта, а твой бот лишь ловит на ебало сообщения от него и отдельно чалится ежжи
а насчет джсона, ну хули ебать, видел и по монструозней, главное что бы он валидный был.
927518
#113 #927518
>>927517

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


http://jsonviewer.stack.hu/#http://2ch.hk/vg/index.json

Пиздец, нехуя не въеду как вытягивать тред по теме или по тегу.
927520
#114 #927520
>>927518
ага вижу, json.loads() тоже хуй показывает json.decoder.JSONDecodeError: Expecting ',' delimiter
ну хуй знает как то надо его править, я ебанусь)
178 Кб, 1280x800
#115 #927522
Котаны, подскажите по джанге.
В шаблоне есть такая конструкция
{% for value in value_list %}
<a href="{{value.slug}}">{{value.name}}</a>
{% endfor %}
Как сделать, чтобы после этой строчки <a href="{{value.slug}}">{{value.name}}</a> выводилась запятая, а если это последняя строчка, то запятая не выводилась?
927523
146 Кб, 1280x811
#117 #927526
>>927523
Спасибо
927527
#118 #927527
>>927526
Хуйли спасибо, гуглом учись пользоваться, ебанат.
188 Кб, 1080x1920
#119 #927542
Господа.
Написал прогу на кудахтере, IDLE, пытаюсь запустить на Андроиде (qpython3) выдает такую шляпу.
Как лечить, что делать? На компе все работает на ура
927695
#120 #927558
Аноны, нужен совет.
Есть(будет, правда) один сайт на фласке, потребуется хранить приличное кол-во фоточек, гугл мягко намекнул, что БД(Postgre) для этого не стоит юзать, а лучше всего файловую систему использовать.
Так вот вопрос:
Как это лучше организовать, какая структура должна быть? (Есть юзеры, они выкладывают от своего имени фото)
Идея такая сейчас у меня:
Создавать под каждого юзера папку, адрес папки и подпапок схоронять в БД и потом юзать. Но мне это кажется немного не торт.
927587
#121 #927587
>>927558
я бы сделал так:
картинке генерить хеш, в бд хранить путь, структура директорий:
images
--uploaded
----16022017
------34j5gjkhsdbjh345fjkh.jpg
------123f44w35e45e45jkh.jpg
------...
----17022017
------...
--thumbnails
----34j5gjkhsdbjh345fjkh_100x50.jpg
----34j5gjkhsdbjh345fjkh_200x100.jpg
----123f44w35e45e45jkh_100x50.jpg
----123f44w35e45e45jkh_200x100.jpg
----...
картинки и превью отдавать memcached или redis
927626
#122 #927605
Анон, подскажи встроенные модули либы питона, которые мастхев в работе в вебе, которыми пользуешься сам и пользуются твои коллеги в рабочих проектах, будь добр.
И подскажи модули, без знания которых невозможно стать джуном.
927612
#123 #927610
>>927508
Ты то, пёс, хули подвязался, пропал нахуй отсюда.
#125 #927626
>>927587
Понял мысль, спасибо, антош.
П.с. Но зачем картинке хеш генерировать?
927630
#126 #927630
>>927626
имя файла может быть помойкой, а так взял и переменовал в уникальную, корректную последовательность, алсо генерить лучше с помощью uuid
927766
#127 #927636
Анон, есть страница, на которой при каждом GET запросе появляется рандомная пикча. Как мне вытягивать линку на эту пикчу?

Нашел только по XPath с помощью Selenium, но, думаю, есть легче решения.
927639
#128 #927639
>>927636

>>selenium


js на странице?
если нет, то достаточно requests и beatyfulsoup
927640927645
#129 #927640
>>927639
Хуй знает, что там на странице. Но у меня есть xpath и есть имя класса в котором хранится линка на картинку. Дело за малым - её вытащить, а я не ебу как. ГЕТ возвращает ХТМЛ.
927642927648
#130 #927642
>>927640
ну хуй знает, в чем проблема то? напиши селектор для тега img и все
#131 #927645
>>927639
двачую вот этого с beatyfulsoup
.get('href')
927649
#132 #927648
>>927640
response = urllib.request.urlopen('URL')
html = response.read()
soup = BeautifulSoup(html, 'lxml')
deta = soup.find('a', class_='твой класс').get('href')
927649
6 Кб, 1195x50
#133 #927649
>>927648
>>927645
Как отсюда вытащить?
927664927672927730
#134 #927664
>>927649
помнится, так делал: открываешь в хроме девконсоль, находишь элемент, правой кнопкой на элементе и в меню выбираешь copy xpath или типа того, не помню точно - это и будет готовый селектор для xpath
927673
57 Кб, 600x600
#135 #927668
Анон, вот есть у меня джанго шаблон, который я хочу порезать на несколько кусков: т.е. есть, к примеру, на странице Post и Comments.
Вместо сотни строк html кода я хочу сделать что-то вроде
{% include 'post_detailed.html' with post=post %}
{% include 'disqus_comments.html %}

и потом версткой/настройкой каждого такого модуля заниматься в отдельном файле.
Вопрос: это нормальный подход? Относительно быстродействия, учитывая, что все это еще обертывается в base.html -> джанга для каждой страницы загружает и открывает 4 файла/шаблона.
927677
#136 #927672
>>927649
залей исходный код страницы в текстовом виде
927675
#137 #927673
>>927664
И шо с этим икспасом делать?
927680
#138 #927675
927730
#139 #927677
>>927668
нормально. шаблонизатору пофиг при таком ничтожном количестве файлов.
#140 #927680
>>927673
ну там можно в метод выбоки элемента бьютифулсупа этот селектор вставить или какой ты там либой пользуешься... все они, в основной своей массе, надстройка над lxml, а в lxml точно можно выбрать элемент посредством xpath
14 Кб, 1388x157
#141 #927692
Какого хуя у меня в ИДЕ нихуя не пашет, а в консоли на сервере пашет?
#142 #927694
>>927692
Что значит "не пашет", даун? За тебя уже код написали, чего тебе еще надо?
927697
#143 #927695
>>927542
Кодировкопроблемы. Где-то у тебя не ютф8.
141 Кб, 1422x816
#144 #927697
>>927694
Даун, у меня респонс кривой или ты в глаза ебешься? Вот тебе пикрил нормальный респонс из консоли. Команды те же.
#145 #927698
>>927697
>>927692
АХАХАХААААААААААА
927700
#146 #927699
ОТКУДА ВЫ ПОВЫЛАЗИЛИ БЛЯТЬ))))))) ОБОСАКА)))))))
927700
#147 #927700
>>927699
>>927698
Гавно ебаное, ты там совсем перегрелось?
5 Кб, 201x251
#148 #927709
927710
#149 #927710
>>927709
Сёма, плиз.
#150 #927717
>>927692
>>927697
сталкивался с такой проблемой, бро! ide нехочет нормально работать с одним монитором, кажется это связано с джавой... поставил 2 монитора и все нормально, но иногда глючит. подумываю третий монитор поставить.
927720
518 Кб, 1536x2048
#151 #927719
Анончик, а как можно чекать сочетания клавишь "Ctrl + <KEY_NAME>" (ctrl+z,+v,+q,+w,...,+n), чтобы эта питон не вылетал из коносоли?

Через exception'ы? Тогда какие? Или что-то другое?
#152 #927720
>>927717
ну я разобрался уже, ну. да, я долбоёб. всё?
#153 #927725
>>927697
Говно какое-то, а не респонс. Я бы такой не купил.
927727
#154 #927727
>>927725
Ну он больше похож на реальный, я это имел ввиду, лол.
#155 #927730
>>927675
>>927649
использовал selenium все же
http://dumpz.org/2497073/
927757927761
5 Кб, 384x93
#156 #927757
>>927730
Я обошелся без него.
927787927829
#157 #927761
927787
#158 #927766
>>927630
Спасибо)
Добра тебе, няш:3
#159 #927778
>>927507
Слыш, я твое вставил к себе, норм работает.
#160 #927785
Посоны, посоветйуте литературы по тому, как писать всякие парсеры на питоне.

Еще такой вопрос: насколько хуйовая идея юзать try / except часто?
11 Кб, 936x104
#161 #927787
>>927761
>>927757
Антуаны, можете пояснить, почему у меня
soup = BeautifulSoup(response.content, 'html.parser')
возвращает пикрелейтед вместо нормального
927792
#162 #927789
>>927785
Какие парсеры?
927793
#163 #927792
>>927787
xmlhttprequest ни о чем не говорит?
927801
#164 #927793
>>927789
очевидно он про парсинг разной инфы с сайтов, учитывая вопросы выше
#165 #927796
>>927785
гугли yacc
А дальше уже ищи книги сам чтобы в этом разобраться.
927806
#166 #927801
>>927792
я не понимаю как заставить его выполнить его этот скрипт
927802
#167 #927802
>>927801
Няша, он тебе как бы намекает, что страница не статичная, а данные на ней подтягиваются при помощи ajax-a, смотри в браузере что там джава-скрипто-говно делает, ищи api енд-поинты сайта и дальше можно дергать при помощи requests и парсить json данные
если повезет и не присядешь на бутылку
927813
#168 #927803
>>927785

> Еще такой вопрос: насколько хуйовая идея юзать try / except часто?


Ну, используй пореже.

А вообще есть такое понятие, как good way/path. Берёшь на сколько можно большой блок кода и обкладываешь его одним try.

try:
code
code
...
code
except ex1:
handler1()
except ex2:
handler2()
...
except exN:
handlerN()
927896927915
#169 #927805
Суп питоны. Вкатываюсь с рекомендациями из шапки. Читаю укус, вкачал PyCharm (можно как-нибудь сделать бессрочную лицензию, или же лучше заменить в перспективе vim'ом как советует автор Byte of Python, komodo-edit или чем лучше? просто натура пердоли не позволяет воровать, покупать дорого).

Вот основной вопрос, что хочу спросить: Книга Лутца "Изучаем Python" является технически-практическим чтивом, или чисто лекторный материал "что откуда"? Т.е. я бы хотел читать эту книгу в местах где не могу прогать, где нет компа (на работе, где угодно), подойдёт ли она для этого? И Можно ли сразу параллельно читать того же Лутца, но "Программирование на питоне"?
927809927810
#170 #927806
>>927796
Оподливился с твоих советов.
Ты ему еще книгу дракона посоветуй.
Зеленый жирдяй ^^,
927810
#171 #927809
>>927805

Ты пичарм поставил коммерческий, на сайте есть комьюнити едишн бесплатная.

Лутц нормально, если до этого в жизни не программировал, а так читай и кодируй после того как прочел, нужно опыт кодинга получать.

Палю годноту newcoder.io
927815
#172 #927810
>>927805

>Книга Лутца


Просто туторил по особенностям и библиотекам языка.
>>927806
Какой вопрос - такой ответ.
927815
#173 #927812
>>927785

>Посоны, посоветйуте литературы по тому, как писать всякие парсеры на питоне.


http://shop.oreilly.com/product/0636920034391.do

> Еще такой вопрос: насколько хуйовая идея юзать try / except часто?


Это нормальная практика для питона, вроде как http://stackoverflow.com/a/11360880/5201699
927820
#174 #927813
>>927802
Спасибо за пояснение. Иными словами проще в данном вопросе использовать selenium и тратить в 50 раз больше времени на исполнение говноскрипта
#175 #927815
>>927809
>>927810
Спасибо,понял. Устанавливал с ppa, что установилось. Там был выбор лицензии, видимо я не разобрался.
#176 #927816
>>927813

>selenium


Ты хоть правильно понял, для чего он нужен?
927825
#177 #927818
>>927813

>словами проще в данном вопросе использовать



Ну, на самом деле different. Иногда сайт выдает годный json, с хорошей структурой, который можно за раз распарсить и получить нужные данные, а иногда говнище-дерьмище за три тыщи.
Открой dev-tools в браузере на нужной странице, выбери "XHR" и посмотри что там летает, а дальше уже действуй.
#178 #927820
>>927812
>>927785
на мой взгляд все вскукареки про медленное исполнение try except актуальны только для С++
#179 #927821
>>927813
Это вообще похоже на какую-то защиту.
Сбрось интернет соединение, чтобы получить другой IP (если они у тебя динамические). И в скриптах всегда прикидывайся настоящим браузером, устанавливая соответствующий User Agent. Как здесь http://pastebin.com/t31ZsMji
927825
470 Кб, 1858x888
#180 #927822
>>927813
Держи скрин, как посмотреть заголовки http и запросы, которые надо делать
там же можешь посмотреть ответ который прилетаетэто именно то что тебе нужно
дальше давай сам
927827
#181 #927825
>>927821
Пробовал и с работы и из дома. Результат один. Этот http://pastebin.com/t31ZsMji скрипт разумеется не исполняется
>>927816
очевидно для заколачивания гвоздей атомным реактором, как в данном случае
927826
#182 #927826
>>927825
Ну, Антон!!!
Ну ебана рама.
Сообщение выше посмотри, там всё что нужно чтоб решить твою задачу.
927833
#183 #927827
>>927822
Блядь, точно! Спасибо, анон.
927828
#184 #927828
>>927827
Обращайся
927829
#185 #927829
>>927828
Тольуо я другой анон - >>927757
У меня и так работало, но риально забыл за эту хуйню
#186 #927833
>>927826
Да я понял, запостил это, не обновив тред. Думаю тот антуан, кого это интересовало изначально справится.

Я столкнулся с печальной проблемой. Необходимо сделать скрины объявлений с авито. При этом приходится совершать лишнее действие - масштабировать окно браузера в соответствии с размерами элемента, в котором и находится нужная информация. Если это не сделать скриншот получается правильного размера (соответствует размеру необходимого элемента), но та его часть, что не влезла на экран оказывается черного цвета (год назад со старыми версиями seleniuma и огнелиса без гекодрайвера такой хуйни не было). Можно ли сделать это как-то проще и быстрее?
http://dumpz.org/2497079/
927854
#187 #927841
>>926403 (OP)
Пиздец шапка протухшая
927859927862
8 Кб, 222x227
#188 #927854
>>927833
Можешь скриншотить всю страницу, а потом обрезать картинку по координатам элемента.
927923
#189 #927859
>>927841
так кто-то мешает новую составить?
#190 #927862
>>927841
почитал шапку и чото нихлоя не понял твоих претензий на тухлость.
Ну ка объяснись!
Ннна нахуй нака
#191 #927896
>>927803

>на сколько можно большой блок кода и обкладываешь его одним try.


Ага, а потом долго тупишь и ищешь что же именно у тебя не работает.
927915
#192 #927913
http://rextester.com/HWOKT58393
Анончи,короч нужно поменять местами четные и нечетные элементы строки,я тут как обычно наговнокодил и и зашел в тупик,так что помогите!
927954
#193 #927915
>>927803
>>927785
>>927896

>юзать try / except


Только если пользовательский ввод обрабатывать. По большому счету он нахуй не нужен.
927937927939
#194 #927923
>>927854
так и было изначально, но сейчас не работает
#195 #927937
>>927915
Лол. Ты походу сложнее преобразования ввода raw_input в число ничего и не писал.
#196 #927939
>>927915
Хуйню ты сказал какую-то.
#197 #927951
Пожалуйста, составьте мини-гайд по конкурентному Python. С учетом современного положения вещей. Учебные пособия предпочитают либо задевать по касательной, либо не затрагивать эту тему. Ридзедоксы сразу окунают в детали, где ничего не ясно.

Интересуют такие темы как:
-Общие понятия на пальцах.
-Асинхронность, поточность и процессность в разных ситуациях.
-GIL. Сюда же, какие операции блокирующий IO, какие нет, что это значит и как определять.
-Возможность использования асинхронного кода внутри обычных синхронных фреймворков (например внутри видов синхронных MVC веб-фреймворков).
-Современный asyncio.
-Асинхронный веб.
-Положняк по старым подходам: gevent greenlet tornado twisted. Живо ли оно и нужно ли.
-Все прочее что сможет родить коллективный разум.

Думаю это можно будет добавить в гайд шапки и информация пригодится многим.
927968927972
#198 #927954
>>927913
а как эта хрень должна работать в зависимости от того четное ли количество элементов или нет?
927962
#199 #927962
>>927954
не там короч сначала делятся на два списка четных и не нечетных значений,а затем как то через цикл они меняются местами.Вообщем хуй знает,я сам до конца не ебу.Можешь предложить свой вариант.
927964927982
2 Кб, 456x68
#200 #927964
927965927973
#201 #927965
>>927964
у тебя i пропала.
927970
#202 #927968
>>927951
из старого асинхронного смысл есть только в торнаде,
остальное нахуй нужное легаси для дидов
927969
#203 #927969
>>927968
Такие мысли вставить некуда, если честно.
#204 #927970
>>927965
Так и задумано. Хочешь оставить - from itertools import zip_longest.
#205 #927972
>>927951
Отвечу только по тому что знаю.

> -Асинхронность, поточность и процессность в разных ситуациях.


> какие операции блокирующий IO, какие нет, что это значит и как определять.


Вот это всё к питону непосредственно не относится, можно спокойно взять литературу или гайды по сокетам и почитать их. Там будет и про блокирующее/неблокирующее IO, и про то, как распределять IO по потокам и процессам.

Если очень кратко:
- асинхронность - выполнение множества задач в одном потоке. Бонусы: нет затрат на переключение контекста ОС и процессора при переходе от задачи к задаче. Минусы: псевдопараллельность.
- потоки и процессы соответственно переключаются медленнее, но могут выполняться действительно параллельно (на разных ядрах, процессорах, машинах).

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

> GIL


Означает, что в каждый момент времени лишь один поток может исполнять байт-код питона. Такая же гарантия распостраняется и на расширения, написанные на Си. Последние, однако, могут GIL отдать. GIL существует из-за недостатков управления памяти в CPython. Убрать GIL из CPython очень сложно из-за двух требований: обратная совместимость и сохранение производительности одно- и двух- поточных приложений.

Из-за GIL ты не используешь потоки для увеличения производительности, когда пишешь под CPython. Только для работы с IO. Иные реализации питона GIL не имеют (PyPy).

> например внутри видов синхронных MVC веб-фреймворков


В основном не требуется.
Во-первых, синхронные MVC фреймворки в продакшене сидят за веб-серверами вроде nginx и apache. Веб-серверы очень хорошо оптимизированны и подают задачи на твои скрипты только в крайнем случае, когда нет ничего проще, а если подают, то делают это более-менее оптимально, так что в MVC-скриптах не нужно самостоятельно решать, что обрабатывать сейчас, а что потом. Во-вторых, оптимизировать синхронные MVC фреймворки - задача неблагодарная, поскольку задержка в ответе главным образом формируется за счет задержек в сети.

Из своего скромного опыта я бы сказал, что работа с очень большой нагрузкой - это на 80% решения в архитектуре сети: множество серверов за балансировщиком нагрузки, кеширование, CDN.
#205 #927972
>>927951
Отвечу только по тому что знаю.

> -Асинхронность, поточность и процессность в разных ситуациях.


> какие операции блокирующий IO, какие нет, что это значит и как определять.


Вот это всё к питону непосредственно не относится, можно спокойно взять литературу или гайды по сокетам и почитать их. Там будет и про блокирующее/неблокирующее IO, и про то, как распределять IO по потокам и процессам.

Если очень кратко:
- асинхронность - выполнение множества задач в одном потоке. Бонусы: нет затрат на переключение контекста ОС и процессора при переходе от задачи к задаче. Минусы: псевдопараллельность.
- потоки и процессы соответственно переключаются медленнее, но могут выполняться действительно параллельно (на разных ядрах, процессорах, машинах).

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

> GIL


Означает, что в каждый момент времени лишь один поток может исполнять байт-код питона. Такая же гарантия распостраняется и на расширения, написанные на Си. Последние, однако, могут GIL отдать. GIL существует из-за недостатков управления памяти в CPython. Убрать GIL из CPython очень сложно из-за двух требований: обратная совместимость и сохранение производительности одно- и двух- поточных приложений.

Из-за GIL ты не используешь потоки для увеличения производительности, когда пишешь под CPython. Только для работы с IO. Иные реализации питона GIL не имеют (PyPy).

> например внутри видов синхронных MVC веб-фреймворков


В основном не требуется.
Во-первых, синхронные MVC фреймворки в продакшене сидят за веб-серверами вроде nginx и apache. Веб-серверы очень хорошо оптимизированны и подают задачи на твои скрипты только в крайнем случае, когда нет ничего проще, а если подают, то делают это более-менее оптимально, так что в MVC-скриптах не нужно самостоятельно решать, что обрабатывать сейчас, а что потом. Во-вторых, оптимизировать синхронные MVC фреймворки - задача неблагодарная, поскольку задержка в ответе главным образом формируется за счет задержек в сети.

Из своего скромного опыта я бы сказал, что работа с очень большой нагрузкой - это на 80% решения в архитектуре сети: множество серверов за балансировщиком нагрузки, кеширование, CDN.
928025928048
#206 #927973
>>927964
У вас ШГ.
#207 #927982
>>927962
последний элемент нечетного множества должен оставаться на месте, я думаю
927984
#208 #927984
>>927982
ну да.
#209 #927992
Анонс, есть работа: написать парсер за злотые, парсер детализации расходов на мобильную связь. За подробностями в фейкопочту ugozapa[@Fd4ANUSyav?)PUNCTUMr^r>u
52 Кб, 500x624
#210 #927993
Анон, такая задача. Есть последовательность из букв латинского алфавита разного регистра, заканчивающаяся символос(^). Как найти номер позиции буквы, которая встречается только 1 раз?(независимо от регистра)
928001
#211 #928001
>>927993
["foo", "bar", "baz"].index("bar")
928003
#212 #928003
>>928001
Последовательность неизвестна, так же как и искомый символ.
Строка примерно такого вида:
TYUKLDSGDKgdsjgklndsbkMKDSKGD^ и в данном случае нужно найти j, т.к. она встречается 1 раз(для примера)
928004
2 Кб, 297x55
#213 #928004
928007
#214 #928007
>>928004
Строка в файле 1.txt. Там 1000 букв написанных разным регистром. Нужно найти ту, что встречается только один раз/
928008
#215 #928008
>>928007
Ебать ты заебал. Я тебе показал как индекс вычислить. Тебе показать, как строки перебрать в файле и найти индексы?
928009928010
#216 #928009
>>928008
Вернее, как вычитать строку из файла и найти индекс?
#217 #928010
>>928008
Как найти не повторяющуюся букву. Только это у меня вызывает затруднение.
928016928111
#219 #928025
>>927972
Какая то у тебя маняасиронность.
Евентлуп нихуя не асинхронность а одна из разновиднлстей реализации, причем хуевая.

Тот же самый сервлет 3.1 позволяет писать асинхронный неблокирующий код через футуры и опционалы. Но никакого евентлупа там нет. Да и многопоточного кода там нет.

Короче я хз как в пейтоне но в явке многопоточность из конкуренси, например
928026928048
#220 #928026
>>928025
Бля. Недописал.

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

Мимо ява примат
928048
#221 #928027
Ну и конечно глупо ожидать от интерпретируемого языка реализации нормальной многопоточности. Реализации гринтредов или акторов. Языки виртуальных машин будь то джвм, эрланг, goвно решают эти задачи легко и непринужденно. Языки с ручным управлением памятью через методики семафоров, мьютексов и прочего пердолинга. В пейтоне я даже хз. Если в нем нет футуров, нет гринтредов то однопоточный код будет быстрее изза отсутствия накладных расходов на форки, переключение и синхронизацию. Евентлуп в данном случае наверное самое простое решение.

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

Все тот же примат
928048
#222 #928028
А.
Вон вам реактив завезли же.
https://github.com/ReactiveX/RxPY

Юзайте.
#223 #928048
>>927972
Спасибо.

>>928025
>>928026
>>928027
Это такая специальная олимпиада? Здесь мы пытаемся понятным языком выяснить что к чему в конкурентном программировании. Что ты хотел сказать не ясно.
928070
#224 #928070
>>928048
То что ты олигофрен ебаный.
В твоем питухоне нет в стандартной либе конкуренси, в отличии от нормальных языков.
Пиздуй сасай реактив.
928073928104928126
#225 #928071
Хорошие новости. Пакт готовит целую серию книг, в т.ч по GUI и асинку. Плохая- все это будет ближе к лету, на торрентах еще позже.
https://www.packtpub.com/all?search=python&offset=0&rows=48&sort=ss_cck_field_date_of_publication+desc
14 Кб, 200x200
#226 #928073
>>928070

>Твое лицо когда никто не оценил твои выебоны.

#227 #928078
https://tubularlabs.com/ проект на пистоне. Поясните, почему они пишут на питоне, а не на джаваскрипте? Про что кукарекают уёбки в треде?
19 Кб, 600x400
#228 #928104
>>928070
Хуя припекло!
237 Кб, 1280x800
#229 #928105
Привет джанганы. Помогите разобраться.
Есть такой post_save метод http://ideone.com/zGgwan
Проблема в том что он срабатывает только при повторном сохранении в админке. Т.е. когда добавляешь статью первый раз, он не генерирует тайтл, а когда снова нажимаешь в админке сэйв, все замечательно срабатывает. Подскажите, как исправить?
928117
#230 #928111
>>928010
Я тебе выше показал как - через string.index('bukva')
#231 #928117
>>928105
сколько щас примерно такую снять стоит?
в мухосранске
чтобы была крашеная блонди, но крепкие сиски
928121
140 Кб, 1280x800
#232 #928121
>>928117
Подскажи лучше, что делать с моей проблемой.
2.5-4к
928124
#233 #928124
>>928121
Думай, иначе ты ничему не научишься малышь.
#234 #928126
>>928070

>в отличии от нормальных


джавараб голос подал?
928240
#235 #928159
Добавил в шапку на гитхабе.

“Learn X in Y minutes - Python 3” - Ультрагоднота. Прочтите перед тем как начать читать книжки ниже. Подойдет как новичкам, так и старичкам и гуру которым нужно вспомнить синтаксис.
https://learnxinyminutes.com/docs/ru-ru/python3-ru/

35 Кб, 574x408
#236 #928164

> так и старичкам и гуру которым нужно вспомнить синтаксис


> гуру


> вспомнить синтаксис

928194928267
#237 #928194
>>928164
не все на одном языке дрочат, когда на другом много пишешь может и подзабыться что-то.
#238 #928240
>>928126

>кукарику


То есть по теме тебе сказать нечего?

Для кого я писал три поста на полстраницы?
Ни один пиздонист даже не понял о чем я писал?
928244
1415 Кб, Webm
#239 #928244
>>928240

> три поста на полстраницы

928335
#240 #928267
>>928164
У нас тут локальный мемчик рождается я смотрю.
#241 #928277
С телефона ведь тоже можно учиться. Может есть приложения адекватные для нулевых? Или обычную схему использовать: ide + книга
928280
#242 #928280
>>928277

>С телефона ведь тоже можно учиться.


Что значит "учиться"? Читать книжки? Писать код?
В любом случае, эффективность нулевая, т.к. на телефон не предназначен ни для первого, ни для второго.
928281
#243 #928281
>>928280
Гугли pythonista для iOS и не пизди.
928283
#244 #928283
>>928281
Да хоть онаниста можешь загуглить. Телефон предназначен для коммуникации. Его формат не подходит для программирования.
928284
369 Кб, Webm
#245 #928284
>>928283

> не пробовал, но осуждаю


Ясно всё с тобой, манька.
928286
#246 #928286
>>928284
Открой документацию по любому модулю и IDE рядом. И сравни насколько быстро ты напишешь код на компьютере и телефоне, если конечно напишешь.
928289
#247 #928289
>>928286
Ебать ты даун. Мы говорим про ВОЗМОЖНОСТЬ, а не про скорость.
928290
50 Кб, 300x300
106 Кб, 640x480
159 Кб, 570x342
#248 #928290
>>928289
Желаю большой удачи данному формалисту из виртуальной реальности.
928291
2998 Кб, Webm
#249 #928291
>>928290
Пошел на хуй, короче, утёнок.
#250 #928335
>>928244
Жабораб же, у них это норма
#251 #928366
Анончи,как сделать что то вроде этогоили как гуглить
0################
#####00##########
#################
######0##########
#################
928378929942
21 Кб, 617x501
#252 #928378
928382928410
#253 #928382
>>928378
суть в том что у нуля тоже случайная позиция должна быть,а не только в конце или начале строки
928390
#254 #928390
>>928382
полную спецификацию давай
928393
#255 #928393
>>928390
генерируется строка решеток или других символов,затем некоторые символы заменяются на другие.Вот так как то.
928402928427
#256 #928402
>>928393
легче простого
928403
#257 #928403
>>928402
ну это главное.
14 Кб, 430x347
#258 #928410
>>928378

>hitler = random.randint(0,5)

#259 #928427
>>928393

>затем некоторые символы заменяются на другие


при каких условиях?
928428
#260 #928428
>>928427
при случайных
928518
47 Кб, 546x550
#261 #928479
Посоны, поясните по гитхабу, пожалуйста.

Есть джва компьютера: локальная машина, на которой веду работу над проектом и удаленный сервер.

Задача: перенести файлы проекта на сервер и пулить изменения с помощью гитхаба.

Есть проект, который заливаю на гитхаб, но там есть файл со всякими API ключами и остальной ересью, который не желательно палить публично (config.py, который импортится в главный файл с кодом). Я создаю репозиторий на гитхабе, заливаю туда проект с чистым конфиг файлом, где вместо моих ключей стоят пустые строки. Дальше я клонирую эту репу себе на сервер, где будет крутится этот проект. Но для того, чтобы он там завёлся, нужны ключи в конфиге. Я редактирую файл с конфигом, подставляя свои ключи на сервере, но при следующем git pull сыпятся ошибки конфликта. Как это всё правильно организовать, подскажите?
#262 #928484
>>928479
Приватный репозиторий сделать?
928485
#263 #928485
>>928484
Так это ж не бесплатно.
#264 #928487
>>928479
Вариантов несколько:
1. Конфиг добавляешь в гитигнор и держишь два разных конфига (в репо пустой, а локально заполненый).
2. Перед пулом делаешь "git checkout ." (точка нужна). После пула заново редактируешь конфиг.
3. На битбакете можно приватный репо сделать, если тебе одному с ним работать.
928489
#265 #928489
>>928487

> 3. На битбакете можно приватный репо сделать, если тебе одному с ним работать.


Заебись, спасибо!
#266 #928513
>>928479
Насколько известно мне, для креденшиалсов используются переменные окружения. Можешь написать скрипт, который будет их устанавливать каждый раз, либо в пушарме можешь выставить их для интерпретатора.
928515
#268 #928518
928525
#269 #928523
>>927460
Вать машу, щито такое, неужели никто не в курсе, м?
#270 #928524
>>927480
У меня встал, я нормален? Особенно на факт тян-говнокодера :3
928626
#271 #928525
>>928518
https://repl.it/FbQd/2
Поучавствовал в эстафете. Мое говно полная хуйня?
928537
63 Кб, 1280x720
#272 #928534
Привет джанганы. Помогите разобраться.
Есть такой post_save метод http://ideone.com/zGgwan
Проблема в том что он срабатывает только при повторном сохранении в админке. Т.е. когда добавляешь статью первый раз, он не генерирует тайтл, а когда снова нажимаешь в админке сэйв, все замечательно срабатывает. Подскажите, как исправить?
102 Кб, 562x437
#273 #928537
>>928525

>for nolik in range(0, noliks):

928566928628
#274 #928554
>>926403 (OP)
Посоны, не упустите шанс
https://moikrug.ru/vacancies/1000031468
928555928565928569
#275 #928555
>>928554
Самая мякотка в тестовом задании
#276 #928565
>>928554
Че-то дохуя они хотят в тестовом задании.
830 Кб, 1280x720
#277 #928566
#278 #928569
>>928554

> От 30 000 руб.


>Полный рабочий день • Можно удаленно


>Знание методологий: gitflow, TDD.


> От 30 000 руб.

928570
#279 #928570
>>928569
Угу, потому сюда и вбросил. У меня тоже знатно бомбануло
#280 #928607
И я вброшу охуенную вакансию, даже на фб срач развели:
https://www.facebook.com/groups/MoscowDjango/permalink/1551150828247217/
928613
#281 #928613
>>928607
хз, если они делают действительно что-то интересное, то почему бы и нет? Хотя экономить на ФОМ в такой ситуации опасно - был такой вот увлеченный сениор который проект тянул, а потом жена родила или там дом сгорел и деньги срочно понадобились и придется ребятишкам зубы обломать.
928619
#282 #928619
>>928613
Там в коментах кто-то уже правильно написал, что риски должен нести инвестор, а исполнитель должен получать нормальную зарплату, а не по итогам.

>делают действительно что-то интересное


Интернет-магазин - там интересного в принципе ничего быть не может, заманить нормального спеца можно только деньгами.
928622928623
#283 #928622
>>928619

> Там в коментах кто-то уже правильно написал, что риски должен нести инвестор, а исполнитель должен получать нормальную зарплату, а не по итогам.



Не читал комменты, но с мнением соглашусь. Уточню что дело даже не в рисках, а в том что они экономят на ФОМ высоко-классных специалистов. Т.е. такой специалист как-бы сам им еще доплачивает за работу. Т.е. в моем понимании контора не смогла заинтересовать инвесторов достаточно чтобы привлечь достаточно денег и "крайними" хочет сделать разработчиков.
928678928687
#284 #928623
>>928619

>Интернет-магазин - там интересного в принципе ничего быть не может


Ну мало ли что они там хотят сделать.
928676
#285 #928624
>>927474
import sys, datetime
sys.stderr = open('C:/MyShadowLogs/stderr/'+datetime.datetime.now().strftime("%Y%m%d_%H%M")+'_stderr.log','w')
sys.stdout = open('C:/MyShadowLogs/stdout/'+datetime.datetime.now().strftime("%Y%m%d_%H%M")+'_stdout.log','w')


Вставить в начале скрипта
@
Создать папки C:/MyShadowLogs/stderr, stdout
@
PROFIT
#286 #928626
>>928524
2017 год на дворе, аллё, тян-говнокодеров везде как говна.
928653
33 Кб, 625x348
#287 #928628
#288 #928653
>>928626
Познакомь? Особенно с симпатичной, особенно у нас в ДВ-ебенях
#289 #928660
Вкатывальщик наркоман репортинг ин. Что если я захочу сделать клон гнома на петухоне? Сколько ориентировочно времени может уйти по самым смелым рассчётам?
928662
#290 #928662
>>928660
Полгода-год. Лучше бы переписал пистоныча на асме и сделал бы из него ОС, лол. Я бы пользовался, особенно на всяких эмбеддедах, да и дома вполне.
928666928996
14 Кб, 394x274
22 Кб, 419x418
#291 #928663
ЧЯДНТ?
apt-get install python3-pip
и то что на пике не пашет.
928741928758
#292 #928666
>>928662
На асме нереально для меня будет. Буду хуярить всё на юлии, похуй что работу не найду, буду продавать конечные продукты дабы избежать автозашквара. Хотя по идее когда я подучу юлию, у меня всё равно будет шанс работать на питоне? Читал о ней что там питоний синтаксис, а либы для юлии пишутся на самой юлии (но сначала, конечно же, сам питон, по нему есть нормальные курсы)
928667
#293 #928667
>>928666
Уже очевидно, что у тебя все будет глючить и тормозить, сотона.
928668928670
#294 #928668
>>928667
Чому? Юлия для реалтайма позиционируется.
#295 #928670
>>928667
http://julialang.org/
Там есть маня-бенчмарки. Скорость выше всего живого и неживого. Неужели врут?
928685
#296 #928676
>>928623
Второй амазон с таким подходом они вряд ли создадут.
#297 #928678
>>928622
Как расшифровывается аббревиатура ФОМ?
928679928680
#298 #928679
>>928678

>Programming with FOM The Fluid Object Mapper (FOM) serves the same purpose as an Object Relational Mapper (ORM) in the context of traditional ...


?
#299 #928680
>>928678
Фонд Оплаты Труда
928682
#300 #928682
>>928680
бля, я дебил, фот же,
#301 #928685
>>928670
Тут все от реализации зависит.

https://www.youtube.com/watch?v=YlpnSJ8FRwA
#302 #928687
>>928622
Вы ничего не понимаете. В РФ бизнес по определению создаётся эксплуататорами которые ни в хуй не ставят вообще никого из работников. Даже больше. Очень сложно выжить тем кто хоть немного честно в нём хочет работать. И выходит так, что эти все пидорасы нанимают работников таким образом, чтобы ему ещё и хуй заплатить, а возможно даже ещё и получить с него побольше нихуя работнику не дав. А всё почему. Потому что все взаимозаменяемы, если что - можно взять и послать кого угодно нахуй без особых проблем и поставить на его место другого. При этом на работодателя, по моему, нет вообще никаких рычагов давления, точнее на всяких пидоров которые слишком много себе позволяют. Этот неебись тест с зп 30к - лишь жалкое следствие из того о чём я сообщаю. Могли бы они заплатить 5к и заставлять вас работать по 25 часов в секунду - они бы делали и так.
#303 #928689
Питон как-то анализирует код до рантайма? Если например я использую в теле множество len(что-то), будет ли это менее эффективно чем присовить a=len(что-то) и дальше использовать a или однохуйственно?
928692928696
#304 #928692
>>928689
Только проверка синтаксиса. Это один из минусов языков с динамической типизацией - работа по оптимизации кода ложится на программиста, а не компилятор/интерпритатор.
928693
#305 #928693
>>928692
Т.е len будет вычислятся каждый раз несмотря на то что в памяти уже есть его результат?
928697
#306 #928696
>>928689
Зависит от того, что len(что-то). Так как в Пистоне все объект, то все зависит от реализации объекта. Для некоторых объектов len(объект) может быть статическим и разницы с a=len(объект) никакой не будет, а если len(объект) каждый раз что-то вычисляет, то стоит запдуматься, что это наверное неспроста и запоминание какого-то значения может привести к неожиданным последствиям.
928698928699
#307 #928697
>>928693
Насколько я знаю, да.
#308 #928698
>>928696
Да, не учел - объект может сам запомнить что его уже считали и может прост вернуть закешированное значение. Например какой-нибудь кверисет из БД.
928700
#309 #928699
>>928696
Берем простейший случай с иммутабельным строго определенным объектом, кортежем например, от которого len всегда один и тот же.
tup=(1, 2, 3)
len(tup)
len(tup)

vs

tup=(1, 2, 3)
a=len(tup)
a
#310 #928700
>>928698
Я про простейшие структуры которые своего состояния не помнят.
928705
#311 #928705
>>928700
Ну че ты, ну, не питонист чтоле, сука?

Intel(R) Core(TM) i5-4250U CPU @ 1.30GHz 1,90GHz
10 000 000 x=len(tup) 1.70499992371 sec
10 000 000 x=a 1.05599999428 sec
928710
#312 #928710
>>928705
Разница значительно меньше чем я ожидал.
#313 #928741
>>928663
Пердоля, съеби в /s.
#314 #928747
>>927311
Think Python. Есть на русском.
#315 #928756
>>927311
В шапке ещё поройся. Там тоже годнота.
Заодно и часть вопросов отпадёт.
#316 #928758
>>928663
python228 -m pip install ...
#317 #928764
Почаны, как работать с такими сложными словарями стандартными средствами питона, без библиотек?

{'response': {'count': 7, 'items': [132, 223, 3231, 234, 5352, 23434, 2323]}}

Мне надо получить массив items.
#318 #928767
>>928764
slovar["response"]["items"]
928771
#319 #928768
>>928764
чет проиграл
928771
#320 #928771
>>928767
>>928768
Кто ж знал, спасибо.
928785928809
#321 #928785
>>928771
Ну это первое с чем нужно разобраться.
#322 #928792
Посоны, подкиньте годного чтива или видева по автоматизации тестирования REST API запросов на пистоне.
928930
#323 #928809
>>928771
- со всяким может случиться...
- со всяким, да не со всяким. Вот со мной это почему-то не случилось, и с Баклажаном не случилось, а с тобой случилось!
928864
#324 #928810
Может кто помочь?
Задача:
http://pythontutor.ru/lessons/sets/problems/sets_intersection/
Даны два списка чисел. Найдите все числа, которые входят как в первый, так и во второй список и выведите их в порядке возрастания
Данные на вход:
1 3 2
4 3 2
Решение:
a = set([int(j) for j in input().split()]) & set([int(j) for j in input().split()])
print(a)
Вопрос:
Каким образом организовать вывод числе в множестве в порядке возрастания? Они идут рандомно все. Пробовал пользоваться функцией min, он почему-то очень странно считает двухзначные числа. Пробовал sorted(), но тоже фигня какая-то получается. В интернете есть решения, но они тоже нифига не сортируют.
Итак, джедаи-питонисты, покажите вашу силу и помогите юному падавану.
928816928826
#325 #928816
>>928810
list1 = ["1","10","3","22","23","4","2","200"]
list1 = [int(x) for x in list1]
list1.sort()
928819
#326 #928819
>>928816
Вау, благодарю.
На том сайте разработчики решили так:
print(*sorted(set(input().split()) & set(input().split()), key=int))
Конечно бред какой-то, учитывая, что функцию sorted() и sort() они не показывали и даже не упоминали. Еще и звездочка в начале перед функцией, что это вообще такое. Херня короч, твое решение даже лучше, анон.
928832
#327 #928826
>>928810

>Пробовал пользоваться функцией min, он почему-то очень странно считает двухзначные числа. Пробовал sorted(), но тоже фигня какая-то получается.


Пробовал пользоваться функцией min, он почему-то очень странно считает двухзначные числа. Пробовал sorted(), но тоже фигня какая-то получается.
тому що у тебя строки, а не числа
928828
#328 #928828
>>928826
а не, ашыпса
#329 #928832
>>928819
Это со стэковерфлоу, няша.
#330 #928849
>>928764
Никак.
Ты никогда не сможешь с ними работать.
#331 #928856
def computeMD5hash(string):
....m = hashlib.md5()
....m.update(string.encode('utf-8'))
....return m.hexdigest()

Пасаны, надо конвертнуть строку в md5. Всё правильно делаю?
928904
95 Кб, 663x375
#332 #928864
>>928809
шептанул
#333 #928904
>>928856
кажися да
#334 #928924
>>926403 (OP)
AttributeError: 'dict' object attribute 'update' is read-only
Из-за чего при mydict.update({99:'zzz'}) такая ошибка может появляться ?

В консоли всё ок
mydict={}
mydict.update({1:999})

а то же самое в программе, когда вставляю туда переменные int и int, выдаёт ошибку
928926
#335 #928926
>>928924
mydict={}
mydict['1'] = 99
#336 #928930
>>928792
куда подкинуть то? за щеку сойдет, скорее всего
928932
#337 #928932
>>928930
В этот (this) тред (thread).
https://2ch.hk/pr/res/926403.html (М)
928943
#338 #928943
>>928932
В Пайтоне нет this, дурик. Только self.
23 Кб, 512x512
#339 #928947
#340 #928955
>>928943
зато треды какие, загляденье
8 Кб, 316x131
#341 #928970
>>928943
Есть же.
#342 #928981
Ребят, надо скомпиллировать прогу, чтобы она запускалась через экзешник, и открывалась в консоли. Никогда такого раньеш не делал (веб-макака-формошлеп). Куда смотреть, где копать?
35 Кб, 574x408
#343 #928982
#344 #928983
>>928981
Смотреть в гугл, копать там же.
#345 #928984
>>928981
Платиновый вопрос
#346 #928996
>>928662
micropython
369 Кб, Webm
#347 #929008
>>928981

>макака-формошлеп



Андрей, когда закончишь скролить свои двочи и доделаешь уже сайт.
3 неделю ждём уже, ну. Пришлось уже отследить твой трафик и писать в этот itt this thread
929013929022
#348 #929013
>>929008

>в этот itt this thread


в этот итт in this itt thread
пофиксил ньюфага
929018929126
# OP #349 #929017
Сап, питонач.
Подскажите куда гуглить и/или как делать.
Пользую джангу, надо из формы отправлять данные в модель.
Как? Поверхностный гугленг грит бери modelForm и хуярь, это оно?
929019929020929942
#350 #929018
>>929013
Ты я смотрю олдфаг :D
С 2015 скралируешь итт эту this борду??
929024
#351 #929019
929023
# OP #352 #929020
Узнал на шебеме себя, это нормально??
>>929017-кун
929022929128
#353 #929022
#354 #929023
>>929019
спасибо пойду попробую разобраться,
джанго-макака-кун
#355 #929024
>>929018
Эту с 2012. А так да, с 2009 года сижу на АИБ, уже олдфаг.
929032
#356 #929032
>>929024
Ясно. Я с 2014 скролю и не особо рад.
Хотя нашел немного культурной годноты на двоще, например bbng
929036
#357 #929036
>>929032
Тут есть крутые аноны и полезная инфа.
А-ля ищущий обрящет.
Только форма её подачи не каждому подойдёт.
Я вот зачастую в ридонли сижу.
#358 #929084
Гайс, пишу на django. По клику создаю fixed форму с 2 текстовыми полями и 1 под файл(Форму можно перетаскивать за "ручку"). Раньше все хорошо работало, но в какой-то момент я не смог зафокусить текстовые поля, соотвесвеннно никакой текст ввести не могу, но на js написан скрипт, который по тому же нажатию, что появляется форма добавляет туда текст и он работает. Не могу понять в чем причина, подскажите хотя бы куда копать.
929087929363929942
#359 #929087
>>929084
Заебись описание, все было хорошо, потом что-то сломалось и теперь ничего не работает. Во времена работы быдлоадмином манагеры в 99% случаев так и описывали проблему.
929093
#360 #929093
>>929087
Описание проблемы, что текстовые поля не фокусятся, я не знаю почему. Я не знаю копать в какую сторону, сказал, что через js текст туда добавляется, а также, что это за форма. Никаких манипуляций, кроме как дописывания пару строк js я ничего не делал.
sage #361 #929095
Сап, хочу вкатится в джанго, скачал вот себе Two Scoops of Django, но там для 1.8, а у меня уже стоит 1.10 щупал всякого по-маленьку, это критично или можно и так будет заниматься ?
929096929097
#362 #929096
>>929095
сажа приклеилась
#363 #929097
>>929095
Вполне.
929100
#364 #929100
>>929097
Спасибо.
#365 #929126
>>929013

>в этот итт self itt thread


посфиксил олдфага
24 Кб, 445x343
#366 #929128
929194
#367 #929194
>>929128
Это могучий интерпретатор гладит обезьянку-кодира?
#368 #929363
>>929084
Учись писать на Python'e, а не на Джанге и все у тебя будет хорошо
929557
#369 #929502
Аноны, вот какого хуя...
Юзаю функцию os.mkdir('...') в начале файла - всё создаётся, как только вставляю эту функцию в свой код(дальше куда-нибудь, в другие функции) - всё нахуй, она вроде как работает, вроде как файл создаёт(не крашится, Exception`ов не вылазит), но папку то не создаёт, втф!?
929505929511
#370 #929505
>>929502
Оно перескакивает в другую рабочую директорию, но какого хуя?!
88 Кб, 960x720
#371 #929509
>>926403 (OP)
Поясните ньюби, плавно выходящему на тропу собесов, что нужно знать джуну?
929527929942
#372 #929511
>>929502
Полюбому с путями где-то проебался.
929555
#373 #929527
>>929509
http://pyobject.ru/blog/2010/02/04/python-quiz/
Немного протухло, но выучи хотя бы это.
929626929629
#374 #929555
>>929511
Как так, антош? Одна единственная функция юзается, os.mkdir() и всё, пути больше не трогаю, пиздец.
929559
#375 #929557
>>929363
описался, и все говном кидают. А я до сих пор понять не могу, где я обосрался
#376 #929559
>>929555

>Как так, антош?


покажи в какой директории находишься и что передаешь аргументом функции
929572
#377 #929563
питонач, чего бы такого можно запилить в области фейс реконгишна, что бы потянуло на магистерский диссерт?
930336
#378 #929572
>>929559
Директория в которой оно создаёт файл

> /home/andrei


Директория в которой я работаю

> /home/andrei/Documents/Programming/Python/Orangery/application (прямо тут лежит файл из которого функция запускается)


Функция которой создаю папку

> os.makedirs('users_data/{0}/'.format(session['username']))

929603
#379 #929603
>>929572
Хз, должно работать.
Попробуй тогда полный путь передать:

>current_dir = os.path.dirname(os.path.abspath(__file__))


>full_path = os.path.join(current_dir, 'users_data', '{0}'.format(session['username']))


> os.makedirs(full_path)

929613
#380 #929613
>>929603
Ну вот и я хз чому так, странно.
Прописываю полный путь теперь.
Спасибо, антош
#381 #929614
Немного знаю си, но хочу вкатиться в питон. Подойдет ли туториал на официальном сайте или книги лучше?
929942
2864 Кб, Webm
#382 #929626
>>929527
Спасибо, большое спасибо.
418 Кб, Webm
815 Кб, Webm
#383 #929629
>>929527
епт, ошибка
#384 #929701
Так что читать, ало?
#385 #929717
Анон, очень нравится когда меня учат, вообще на очном бы ещё лет 5 поучился, но мне уже 25...
В общем, есть ли зарекомендовавшие себя лекции по питону? Чтоб включил на телеке, сел рядом с ноутом и попёр будто ты сидишь в аудитории с живым преподом.
929724929942929984
#386 #929722
Сап, браться. Начал за джанго, но не понятно, куда класть эти статик файлы. У меня python 2.7 и django 1.10, а учусь по видеоурокам 1.6. В доках написано, что ставить надо внутри папки приложения, /джанго/приложение/статик/имяприложения
в видео он просто положил статик внутри приложения, и еще один внутри джанго. И так и сяк, но мой пнг файл не видит.

Спасибо.
929752929942
#387 #929724
>>929717
Полно на ютюбе. Но рекомендую pythontutor.

Если совсем далек от computer science, то можешь просмотреть курс cs50 Гарварда, отлично объясняют с основ.
929726929730
#388 #929726
>>929724
Не слишком далёк, но интересные лекции почему бы не посмотреть. Спасибо.
#389 #929730
>>929724
Просто смотрю сейчас ЭТО https://www.youtube.com/watch?v=xhoX3-NdM9k&list=PLi6h7nTANKP8-xJhyUcEKysGs_91syMIS
Это такой пиздец...
Хуй с ним с картавым мерзким голосом, но блядь, она же вообще к лекции не готовилась, просто словно Ваньку Ерохина вызвали к доске рассказать "как решить %уравнение"
#390 #929750
>>929730
Вот уж действительно, пиздец.
#391 #929752
>>929722

>У меня python 2.7 и django 1.10, а учусь по видеоурокам 1.6


Заебись миксанул.
#392 #929891
Посоны, нужна ЧИСТО ПРОСТЕЙШАЯ ПРОГРАММА, типа вот такой, только на питоне, СРОЧНО

Нужно чтобы программа записывала в текстовый файл ОДНУ И ТУ ЖЕ СТРОЧКУ N РАЗ И СОХРАНЯЛА ЕГО, больше ничего не требуется, помогите пожалуйста
929895
#393 #929895
>>929891

> одна строка на баше

929899
59 Кб, 604x377
#394 #929897
Питоняши, опять я к вам по вопросу прирученя джанги.
Есть один бложик, на котором я испытываю всякого рода извращения и ставлю эксперименты. Но вот пришло время использовать в качестве реального бложика до этого там были статейки в стиле Lorem ipsum kak horow.
Что я уже сделал:
-модель поста с полем под бэкграунд
-если бг не указана, берется первая картинка поста, накладывается фильтр и используется в качестве бг
-если бг нет, то используется дефолтная
-прикрутил комментарии от disqus
-прикрутил счетчики просмотров/комментариев, из этого сделал раздел featured posts
-добавил возможность добавлять в текст поста картинки (через markdown и последующую обработку)
-сами статьи пишутся на markdown.
-для этого самого markdown использую редактор - https://github.com/lepture/editor

На чем запнулся:

Хочу вставить модное оформление кода - выбрал piramid. Ок, поставил, но тут, внезапно, появилась проблема: тегу с кодом нужно давать аттрибут типа code-language, чтобы он применял соответствующее оформление.

Как это решить?
1) После написания поста брать размеченый редактором текст, выводить html и добавлять в нем? Минусы: читабельность, потом не поредактируешь
2) Добавить свои кнопки в редактор? Минусы: куча времени на изучение работы редактора + получится ли.
3) Анон знает лучшее решение
Инфы по этой теме в интернетах не нашел
930175
#395 #929899
>>929895
Да блджад, я не погромист, когда-то что-то знал, но сейчас ничего, вот вообще изи, а я не могу допереть, помохи
929906
#396 #929906
>>929899
string = input('String')
n = int(input('Number of times?'))
for i in range(n):
print(string)
#397 #929908
Как нормально работать со строками в питоне? Набрел на задачу из другой темы >>928210 , в итоге вышел дикий говнокод. Линк - https://ideone.com/uifzE3
Как можно короче написать?
#398 #929912
Блядь что делать если int не хватает?? Число больше int и не хочет умножаться
929917929919929942
#399 #929916
>>929908
1. Регулярной \D удаляешь всё что не цифра.
2. re.findall разбивает цифры на тройки
3. Джоинишь через тире.
929959
#400 #929917
>>929912
Использовать питон 3
#401 #929919
>>929912
Используйте long
#402 #929921
>>929908
def foo(string, n):
s = string
s = s.replace('-','').replace(' ','')
print(s)
result = []
while s:
result.append(s[:n])
s = s[n:]

return '-'.join(result)
929959
101 Кб, 640x427
#403 #929942
>>928764
>>928981
>>929017
>>929084
>>929509
>>929614
>>929717
>>929722
>>929912
>>928479
>>928366
Убейтесь нахуй, вкатывальщики, у вас багуля в днк
929946
#404 #929946
>>929942
иди шебемы поскроль, довен)))))
930071
#405 #929956
>>929730
Сука. я 3 раза засыпал, когда пытался посмотреть эту хуйню.
#406 #929957
>>929730
Нахуй вы это говно сюда притянули?
Уже в который раз...
#407 #929959
>>929916
>>929921
Я, наверное, неправильно объяснил. Это всё работает когда len() % 3 == 0. Номера могут быть разной длины.
т.е для len() % 3 == 0 выход ###-###-###,
для len() % 3 == 2 выход ###-###-##,
len() % 3 == 1 выход ###-###-##-##,
Одной регуляркой тут не обойтись, но если есть более просто решение с регулярками, хотелось бы увидеть
929968929974930082
#408 #929968
>>929959
ты хочешь, чтобы последним элементом не могла быть одна цифра?
добавь в начале проверку на количество и остаток, отрежь от конца 4 цифры, разбей их. Остальное - как в коде выше.
#409 #929974
929979
#410 #929979
>>929974
Был бы ты синор-памидор написал бы на кложуре, так то ты простой мидл с петаном.
#411 #929984
>>929717
Вот эти, вроде ничего https://www.youtube.com/watch?v=5V7XG1mGiHc&list=PLlb7e2G7aSpTTNp7HBYzCBByaE1h54ruW
Правда они не совсем для новичков.
#412 #930023
Есть ли в путоне функция, которая проверяет равно ли число 0 и возвращает 1 если равно и 0 если не равно? Я конечно закостылил, но не покидает ощущение, что можно было проще 'перелезчереззаборадверьрядом.жпг'
930029930052
#413 #930029
>>930023
if not smth: ... ?
#414 #930033
Ну если еще надо именно число то так наверное.
https://ideone.com/74QDCC
#415 #930052
>>930023
func = lambda tvoe_chislo: 1 if tvoe_chislo == 0 else 0
print(func(1))
print(func(0))
930056
#416 #930056
>>930052
https://ideone.com/6Q5xIc
Немного отсасывает по памяти у меня.
https://ideone.com/fy1trA
930058
#417 #930058
>>930056
ты циклически запускаешь функцию, ясен хер что памяти сожрется больше и никто не говорил про обработку списков
930062
#418 #930062
>>930058
На самом деле примерно одинаково, если делать несколько запусков. Но без лямбды запись красивее, имхо.
#419 #930071
>>929946
Поскролил тебе за щеку
18 Кб, 996x154
#420 #930077
>>929908
Безумные умения в одну строку.
930082930102
17 Кб, 995x62
#421 #930082
>>930077
Не увидел это >>929959 Вот почти рабочий вариант, только

>len() % 3 == 1 выход ###-###-##-##,


не реализовано, но можно ебануть, но лень.
930104930108
#422 #930095
>>929730
на нее теребонькают, а чего добился ты?
930097
#423 #930097
>>930095

>на нее теребонькают


Но она же страшная.
#424 #930102
>>930077
Ты ставишь вместо цифр дефисы, умелец.
930104930108
#425 #930104
>>930102
Вот же пофиксил. >>930082
930108
1 Кб, 495x33
#426 #930108
>>930082
>>930104
>>930102
Да, проебал. Но там все равно самое сложное было вот это:

>len() % 3 == 1 выход ###-###-##-##


Вставлять "-" каждые три символа можно и проще.
930110
#427 #930110
>>930108
И похуй, что номер теперь задом наперёд.
#428 #930116
>>929908
http://ideone.com/On4Bee
мимо-вечера-начал-программировать
930191930292
#429 #930132
Блять, кто знает в чем может быть проблема, поставил себе virtualenv и не могу запустить сайт тепреь из под джанги. Пишет такое когда пишу migrate:
ImportError: Couldn't import Django. Are you sure it's installed and available on your PYTHONPATH environment variable? Did you forget to activate a virtual environment?

Virtualenv я активировал :(myvenv) D:\lab\project>

Другой проект, который я делал без virtualenv запускается без проблем. Что сделать-то надо, чо ему не нравится ?
930133
#430 #930133
>>930132

> Are you sure it's installed and available on your PYTHONPATH environment variable?

930135
#431 #930135
>>930133
То есть, если я хочу использовать джанго из под virtualenv, то мне нужно добавить его в PYTHONPATН ?
А разве pip не добавляет его туда ?
930137
#432 #930137
>>930135
source virtualenv/bin/activate
pip install django
930147
44 Кб, 720x1280
#433 #930144
Почему 8?
930145930173930556
#434 #930145
>>930144
list[4] вернет 5.
таким образом у тебя получится list[5], а это 8
#435 #930147
>>930137
Спасибо большое!
#436 #930173
>>930144
а это нормально, служебные слова использовать в качестве переменных?
930239930250930261
57 Кб, 670x446
#437 #930175
>>929897
БАМП вопросу
#438 #930179
Посоны, есть функция, которая принимает некоторые аргументы.

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

Пока есть такое:
http://pastebin.com/4duvskUB
930203930217
#439 #930191
>>930116
Расскажи как так же регулярками обмазаться.
29 Кб, 353x369
#440 #930203
930206930207930209
#441 #930206
>>930203
Отдуши.
11 Кб, 361x110
#442 #930207
>>930203
Так красивее.
930209930213
#443 #930209
>>930203
>>930207
Нахуй ты break после return'а ставишь?
930214930215
#444 #930213
>>930207

> lambda x: f(x)


> красивее

#445 #930214
>>930209
Не знаю, в условиях задачи на счет возвращаемого значения ничего нет, можно yield ебануть.
#446 #930215
>>930209
А, да я бухой немного.
7 Кб, 601x227
#447 #930217
#448 #930239
>>930173
Нет.
#449 #930250
>>930173
за переопределение builtins яйца вырывают с потрохами и засовывают обратно.
#450 #930261
>>930173
Ну тогда к Sololearn претензии.
3 Кб, 404x55
# OP #451 #930277
Собираюсь вкатываться, собственно заслал риземе, жду ответа.
Буду держать вас в курсе, мимо антуан-джуниор-24-года-дс2-кун
#452 #930292
>>930116
Как вкатываешься?
930294930304
#453 #930294
>>930292

>вкатываешься


Прекрати это употреблять пожалуйста.
930303
#454 #930303
>>930294
чому?
#455 #930304
>>930292
Читаю седжвика, бизли и pro-python
Плюс делаю задачки на exercism.io
Еще на вертабело прохожу курс по сиквелу, но там платно
25$ спиздили поляки, может потом выложу для ананов задачки с того сайта
#456 #930336
>>929563
анус рекогнишн запили
#457 #930341
Стоит ли читать лутца 5 издание, или 4 еще актуально?
#458 #930345
>>927399
Tools-> buld system -> new buld system:
{
"shell_cmd": "python -u \"$file\"",
"file_regex": "^[ ]File \"(...?)\", line ([0-9]*)",
"selector": "source.python",
"encoding": "cp1251"
}

Еще есть риск что при установке питона не прописал пути, хотя хз, сейчас вроде оно само прописывается.

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

Пайчармы юзал долго, в итоге бросил и пересел на саблайм. Ибо тормозит, жрет батарею, и куча фич которые мне не нужны. Иногда бывает удобно, да, порефакторить там, диффы посмотреть, не ебаться с логгингом при отладке. Но всё же это не критически чтобы переходить.
930357
#459 #930357
>>930345
Пердоля, ты? Тебе дали инструмент готовый. Не нужен функционал - не юзай. Всё искаропки. Нет, хочу ебаться, настраивая редактор заместо того, чтобы писать код.
930364
#460 #930364
>>930357
Так это же не ежедневная ебля как линуксами. Один раз поставил пакеты, конфиги и забыл.

>Не нужен функционал - не юзай


Так он мешает, все эту ебалайку нельзя отключить, только парочку плагинов. В любой случае жабокомбайн будет тормозить, жрать ресурсы и глаза мозолить.
930370
#461 #930370
>>930364

> Так это же не ежедневная ебля как линуксами. Один раз поставил пакеты, конфиги и забыл.


Я вижу, как ты не ебешься. Сколько ты времени въебал на настройку?

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


Ну че ты пиздишь, блядь? У нас на проекте никто на такую хуйню ниразу не жаловался. А ты небось мамкин программер и пороха еще не нюхал.
930540
#462 #930434
>>926403 (OP)
Вопрос, проверять assert-ами значения при инициализации класса нормально? Или лучше использовать raise?
930451930541
222 Кб, 1366x768
#463 #930451
>>930434
Чеснагря я хуею. Вот инициализация пустого свежего воркера celery на питоне 3.5 со всеми либами свежих версий.
930452930456930476
#464 #930452
>>930451
Отсылка к посту приклеилась.
#465 #930456
>>930451
поставь rabbitmq для amqp
930458
#466 #930458
>>930456
отбой, у тебя там просто опечатка
930461
#467 #930461
>>930458
У меня щас котелок не варит. Где очепятка что не так?
930464
#468 #930464
>>930461
4 строка ampq
930468
#469 #930468
>>930464
А знатненько я обдвачился ))) Спасибо тебе.
Еще и базу спалил. Можете не конектиться, парольуже ротейтнул
930471
25 Кб, 194x184
#470 #930471
25 Кб, 660x247
#471 #930473
Ну все я спокоен. Ебля будет уже завтра.
#472 #930476
>>930451
не подскажешь как в этом cloudamqp удалить созданный инстанс?
930479930483
#473 #930479
>>930476
всё, нашел.
тоже чот передвачевал.
119 Кб, 1366x768
#474 #930482
930483
#475 #930483
168 Кб, 727x682
#476 #930487
Какой дроплет для интернет-магазина дилдаков из китая конечно же начальный брать на связке psql + django на гюникорне-nginx + redis взять кто-нибудь может так почувстовать? Я в душе не ебу сколько редиске оперативы нужно, можно взять тот же Линод за недороха при таком же железе.
Или охуеть совсем и хоститься в Рашке соблюдая закон о хранении ПД в России?
Чукча не сисадмин, чукча - быдлокодер.
930492930653931051
#477 #930492
>>930487
Начинай с бичарского и скалируй по надобности наверное.
#478 #930504
Подумывал об EC2 на амазоне, попутно освоив их еластиebinсталк, только мне кажется все их красивые описания выглядят как наебалово с последующим разводом + начитался про страшилки со взломом и покупкой десятков ВМ с последующим долгом в 12000$ за сутки.
930506930695
#479 #930506
>>930504

>о взломом и покупкой десятков ВМ с последующим долгом в 12000$ за сутки.


Накинь плиз.
930512930513
#481 #930513
>>930506
https://geektimes.ru/post/247794/

С тем же EC2 мне непонятно можно ли его задудосить, чтобы владелец влетел на деньги. Автоматическое масштабирование, хули.
931052
#482 #930540
>>930370
Мне тоже начальник говорит, вот пичарм, все его юзаем (4-й месяц работаю), заебись, любую залупу подсвечивает и подсказывает. А потом раз за разом вижу, как пичарм обсирается с поиском исходника какой-то функции и тому подобного, да и с асинкио не особо дружит, а начальник лишь разводит руками и всё сводится к полнотекстовому поиску. Это далеко не всегда так, но нахуй мне такой инструмент? Плюс интерфейс конечно просто пиздец. Классика нулевых, все эти зелёные треугольники плей, красный квадрат стоп, просто блевотина. Цвета можно настраивать, но там столько вариантов что как подсвечивать, что до седых волос можно это всё настраивать, а в нормальных редакторах почему-то из коробки всё с этим заебись. Что ещё… а, лично мне вот неудобно когда куча мелких залуп на одном экране. Тут консоль, тут дерево проекта, тут тулбар, тут меню, тут вкладочки дебаг, тут раннер АААА! Я лучше alt-tab нажму пару раз, чем на эту залупу смотреть.
930542930545930546
#483 #930541
>>930434
Ассерты для тестов.
#484 #930542
>>930540

>нахуй мне такой инструмент?


дебаггер, консоль, pylint, тестраннер и много чего еще.
>>930540

>пичарм обсирается с поиском исходника какой-то функции


Он обычно тащит индексы пайтоновских либ с собой, ибо на венде с этим сложно.
930555
#485 #930545
>>930540

>А потом раз за разом вижу, как пичарм обсирается с поиском исходника какой-то функции и тому подобного, да и с асинкио не особо дружит


А где это все лучше реализовано? В остальном синдром утенка.
930555
#486 #930546
>>930540

> обсирается с поиском исходника какой-то функции и тому подобного


Постоянно и у всех

Саблайм с анакондой (линтинг, автоформат PEP8)+Jupyter вместо шела удобнее и ничего лишнего нет, и ебаться в вимом не надо.

Но надо отдать должное - Пичарм лучше чем Атом. Хуже атома уже ничего нет. Текстовый редактор который на 6700K тормозит сильнее чем полноценная IDE и при этом по сути - браузер.
930555
#487 #930555
>>930542

> дебаггер


pdb

> консоль


консоль

> pylint


есть в любом редакторе

> тестраннер


консоль -> pytest

> Он обычно тащит индексы пайтоновских либ с собой, ибо на венде с этим сложно.


Не знаю как он на винде, у нас все на линуксе. Факт есть факт.
>>930545

> А где это все лучше реализовано?


Наверное нигде, ты это к чему?

> синдром утенка


Ты так говоришь, будто я в IDLE пишу.
>>930546
А я атомом пользуюсь на core 2 duo дома и вообще никаких проблем.
#488 #930556
>>930144
Иди нахуй, тупень
930557
#489 #930557
>>930556
Мне вкатиться низзя? Уже разобрался, поэтому никуда я отсюда не пойду.
930559930563
27 Кб, 532x261
#490 #930559
#491 #930560
>>930555

>pdb


не осилил
#492 #930563
>>930557
Нельзя пока не начнешь головой думать
930568
#493 #930564
>>930555
Ебать. Нет, чтобы юзать одну ИДЕ - хочу юзать кучу говна. Пердолик as is.
930572
#494 #930565
>>930555

>Наверное нигде, ты это к чему?


Ну ты так критикуешь, будто есть лучше альтернативы.

>Ты так говоришь, будто я в IDLE пишу


Причем тут IDLE, ты толком не поработал в пичарме, а выводы делаешь, что ГОВНО ЗДЕЛАНА ТУПО.
#495 #930568
>>930563
Стараюсь думать именно ею. Но доходит только за 10-15 минут. Мне кажется, что это из-за хуевого учебника.
#496 #930571
>>930555

>А я атомом пользуюсь на core 2 duo дома и вообще никаких проблем.


Это незаметно пока не начинаешь писать как стенографистка. Атом пока что для меня самый удививший редактор - постоянные микролаги.
930575
#497 #930572
>>930564

> Нет, чтобы юзать одну ИДЕ


Каждый инструмент (консоль, дебаггер и т.д.) по отдельности будет мощнее по возможностям, чем в составе ide.

> ты толком не поработал в пичарме


Я написал то, что мне сразу не понравилось. Почему я должен продолжать им пользоваться? Вон, питон кор-девелоперы пишут в емаксе и что? Кто в них пичармом кидается или ржёт над ними? Просто пичарм не по мне. Кому-то по душе тырпрайз ide, ладно, но говорить, что вот пичарм и только он, а остальные говноеды просто глупо.
#498 #930575
>>930571

> писать как стенографистка


Кому ты пиздишь?! Ты код высираешь так, что редактор лагает? Сколько символов в секунду?
154 Кб, 699x715
#499 #930576
930580930581
#501 #930581
>>930576
Короче, не нравится, не пользуйся, очевидно же.
#502 #930589
>>930580
Я тебе что ли говорил что Пичарм - быстрый?
Они для меня по ощущениям на одном уровне, вот только Pycharm - полноценная среда, а атом - тормозящий редактор. Как некоторые умудряются на нем писать сидя на оверпрайснутых медленных макбуках - загадка.
930599
#503 #930594
И сказал змей жене: нет, не умрете, 5но знает Бог, что в день, в который вы вкусите их, откроются глаза ваши, и вы будете, как боги, знающие добро и зло.
#504 #930599
>>930589

> Я тебе что ли говорил что Пичарм - быстрый?


Ты так говоришь, будто мы тут не вдвоём сидим. Ты скрин привёл, что кто-то плачем, что атом медленный, а загуглил, что так на любой редактор/ide плачутся.

> Pycharm - полноценная среда


И что с того? Ещё раз, все утилиты по отдельности мощнее, быстрее и проще, чем комбайн-ide, просто мышевозы любят зелёный крестик, но это колхоз. Но нет ничего плохого в том, чтобы ей пользоваться если тебе так нравится.
930607
#505 #930607
>>930599

>все утилиты по отдельности мощнее


Ну так приведи пару примеров, чисто для интереса.
930612
#506 #930612
>>930607
Ну, может не мощнее, ладно. Но мне во всех ситуациях хватает pdb и консольки. Запустить тесты, обновить пакеты, сделать дебаг вон той хуйни.
#507 #930653
>>930487
Бкри за 200 рублей на vscale, на все тебе там хватит. Только гуникорн замени на uwsgi
#508 #930661

> https://pythondigest.ru/


> Мы тут на хостинг собираем - помогите нам.


Чего, блядь? Хостинг 100 рублей в месяц стоит. У них там хайлоад что ли?!
930696930722
#509 #930695
>>930504
Амазон нужен только на хайлоаде ынтырпризе или где дохуя файлов крутится. Даже для средненагруженного сервиса хватит DO, к тому же сейчас файлы можно пробросить через их же внешнее хранилище.
#510 #930696
>>930661
Двочирую, еще и либы пиздят с путхонтрендинга.
181 Кб, 495x454
#511 #930699

>CTO python.ru inc хуёмоё


>нет стопарика на говновпску


Пиздец.
#512 #930721
>>930555

> А я атомом пользуюсь на core 2 duo дома и вообще никаких проблем.


Атом тормозной таки, переехал с него на vs code. Он куда профитнее в плане автодополнения. Там даже pylint в пайтон плагине прикручен. И дебаггер есть.
930884
#513 #930722
>>930661

>Хостинг


vds + домен + какой-нибудь дешманский ssl, наверняка еще и реплика с бекапами настроена.
930754
#514 #930754
>>930722
Дешманский рувдс за 65 рублей + летсэнкрипт 0 рублей + бэкапы на домашнюю пеку + ру домен - 200 р в год максимум
Даже нищий школьник с завтраков насобирает и еще останется на игори
#515 #930764
Привет!
Есть что-то для вытаскивания дат из натурального русского языка? Платформа, модуль или сервис. Не обязательно пайтон.
930767930791930806
#516 #930767
>>930764
Таджика найми, пусть вытаскивает.
930769
#517 #930769
>>930767
Я серъезно.
#518 #930791
>>930764
Р Е Г У Л Я Р О Ч К И
Е
Г
У
Л
Я
Р
О
Ч
К
И
930792
#519 #930792
>>930791
На таком наверное не уедешь. Если написано "Завтра пойду в могилу, а может и послезавтра рано утром". То выяснить когда и в какое время на регулярках будет сложно. Нужен лэнгпроцессинг со словарями. Пока нашел томита-парсер, но под него нужно самому писать правила.
#520 #930796
Сука IBM Watson даже арабик поддерживает, но русским хуй на рыло.
930855
#521 #930806
>>930764
nltk, может быть?
#522 #930855
>>930796
В русском слишком много деепричастных оборотов.
930882
#523 #930882
>>930855
Русский язык, имея множество деепричастных оборотов, довольно сложен для автоматизированного анализа.
фикс
930895
#524 #930884
>>930721
В атоме есть и линтер и flake8.
#525 #930895
>>930882
Проиграл, конечно. Но бля шо делать.
#526 #930909
Есть желающие вкатиться в конфу в телеграме?
931092
#527 #931051
>>930487
Двачаю за вариант с vscale
Но под постгрес стоит изначально брать отдельный виртуальынй сервак, ибо подобосрется крутится на 512 Мб, да еще рядом с петано-скрейптами.

Можешь еще по моей реф ссылке регнуться и получить денех на счёт, чтоб протестить :3
#528 #931052
>>930513
можно выставить лимиты на бюджет, и оно либо вырубится при их достижении, либо будет ебашить тебя уведомлениями. Можно отдавать страничку дадосерам с nginx-a, или с s3, можно клуд-фларю привернуть сразу.
# OP #529 #931057
Готовимся пирикатываться??
931073
#530 #931073
931074
#531 #931074
>>931073
Че так?
#532 #931092
>>930909
Вкатывался уже в штук пять пистон-конф, дропнул, везде одно.
931103
#533 #931103
>>931092
Мне надо быстро заёбывать кого-то, чтоб помогали прост.
931108931223
#534 #931108
>>931103
В чем проблема на двоще спросить? А для большего - бери ментора на фрилунсе, никто бесплатно тебе помогать не будет.
931113
#535 #931113
>>931108
И сколько стоит ментор на фрилансе?
931140
#536 #931140
>>931113
3000 час, 15000 ночь
есть подруга-фронтэндер
931144
#537 #931144
>>931140

> подруга-фронтэндер


Вот это уже интереснее.
#538 #931223
>>931103
Заебал тебя за щеку, проверяй.
931224
14 Кб, 512x512
#539 #931224
>>931223
Даун, плиз.
#540 #931264
Читаю синтаксис пайтона вижу такие методы:
len()
lower()
upper()
str()

Какого хуя len(var), тогда как var.lower()?
Логично предположить что lower(var)

Как понять логику?
931268931272
23 Кб, 512x512
#541 #931268
#542 #931272
>>931264
len работает для чего угодно с длиной(у объекта есть метод __len__).
lower - метод специфический для строк.
931276
#543 #931276
>>931272
Cпасибо. Понял.
#544 #931413
Читаю книгу по Django 1.6. MVC подход реализован так же как и в последней версии?
931732
#545 #931414
Есть какая-нибудь очередь сообщений для питона, которая умеет добавлять делэйд и репитинг таски прямо в рантайме?
931463931540
#546 #931463
>>931414
ага, asyncio называется
931487
#547 #931487
>>931463
Нет. Нужно разделение между воркерами, соответственно работа с брокерами и т.д. Ну если есть что-то поверх асинка, то расскажи.
931491
#548 #931491
>>931487
ну если брокер нужен, то rabbitmq первое что приходит на ум и питон тут не при чем, а если нужно делать асинхронный код, это твои делейд, рипит..., то asyncio. в итоге имеем asyncio + aioamqp
931495931496
#549 #931495
>>931491
а вообще, если не хочется все самому с нуля, много всяких поделий уже аля микросервис - представяюи из себя минифреймворк с бекендом к брокеру ну и вообще реализацию всяких интерфейсов... вот берешь любой приглянувшийся и описываешь своего воркера. первое что вспомнилось autobahn
931502
#550 #931496
>>931491
Походе я не совсем ясно выразился. Мне нужен фреймворк. Чтоб в конфиге прописать БД, а в скрипте по надобности делать типа job.delay(timedelta, reprat=True). В селери периодикал таски добавляются декоратором заранее, и выполняются в celery beat, в рантайме не работает такая хуйня.
931502931503
#551 #931502
>>931496
>>931495
ну для такой задачи все же фреймворк - оверхед. все что нужно это выполнять в твоем воркере функцию не блокирую основной поток - asyncio, получать задания из очереди целери для исполнения твоей не блокирующей функции - aioamqp если целери пашет через рэббит.
931503
#552 #931503
>>931496
>>931502
а если это джанга, то целери вовсе можно выкинуть, заменив на channels и тогда асинкио даже не понадобиться
931505
#553 #931505
>>931503
Не, не веб.
931506
#554 #931506
>>931505
тогда вот, синтетический пример, раз в неделю примерно, тут появляется http://pastebin.com/9uQCLac8 может полезен будет
#555 #931540
>>931414
очевидный сельдерей
931542
#556 #931542
>>931540
Как ебнуть периодикал таск в рантайм?
Перекат #557 #931573
#558 #931732
>>931413
Почитай лучше про Django 1.2
#559 #932235
>>926698
Лутц это самый высокий уровень или нет?
#560 #939645
Нужны либы для работы с вордом мелкософтовичем.
940096
#561 #940096
>>939645
довен, тебе уже в другом тхреде ответили, зойчем ты некропостишь?
Тред утонул или удален.
Это копия, сохраненная 16 марта 2017 года.

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

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