М.Двач / Программирование

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

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.

196 Кб, 1200x900

79 Кб, 900x598

Python 24 Фев, 18:36 #665294 В конец треда | Веб

Продолжаем обсуждения лучшего языка для школьников и домохозяек.

Шапка: https://github.com/TheKnightsWhoSayNi/info/wiki/Hat
Прошлый: >>656084 (OP)

2.х или 3.х v1: http://legacy.python.org/dev/peps/pep-0373/
2.x или 3.x v2: https://wiki.python.org/moin/Python2orPython3

Ответы>>667430>>669770>>671093>>677139

24 Фев, 18:43 #2 #665305

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

24 Фев, 19:07 #3 #665330

Как узнать путь к интерпретатору с джанги? sys.executable возващает путь к uwsgi.

Ответы>>665385

24 Фев, 20:04 #4 #665385

>>665330

Интерпретатору Питона?

Ответы>>665387

24 Фев, 20:07 #5 #665387

>>665385
Есть ещё какие-то интерпретаторы в рамках пистоноразработки?

Ответы>>665388

24 Фев, 20:09 #6 #665388

>>665387

Пожалуй нет. Посмотри в PATH.

24 Фев, 20:49 #7 #665440

Ананасы, посоветуйте, какие либы(1-2) лучше изучать (сам планирую с питонов в ресерч, но на первое время работу/подработку, видимо, в вебе) ну и вдобавок, есть ли какая-нибудь книга, не очень скучная и где разбирается Advanced питон (в байт оф пайтон просто достаточно).
Deep into Python подойдет?

Спасибо.

Ответы>>665441>>665465

24 Фев, 20:49 #8 #665441

>>665440
Dive into Python*

24 Фев, 21:01 #9 #665465

>>665440

Dive to dniwe onto Python.

24 Фев, 22:03 #10 #665535

http://pyobject.ru/blog/2010/02/04/python-quiz/
"Классы" п1

Я не понял, что можно в объекте класса переменные(атрибуты) на ходу добавлять?
Или предлагают инициализировать переменные которые я создал в классе?

Ответы>>665543>>665560

24 Фев, 22:07 #11 #665543

>>665535
> что можно в объекте класса переменные(атрибуты) на ходу добавлять?
Да.

dir(obj) вообще есть несколько способов.

24 Фев, 22:11 #12 #665549

pygame дерьмо?

Ответы>>665556>>665979

24 Фев, 22:15 #13 #665556

>>665549
А что нужно то?

24 Фев, 22:17 #14 #665560

>>665535
Первое. через setattr или self.__dict__

Ответы>>665565>>665692

24 Фев, 22:19 #15 #665565

>>665560
В self.__dict__ только собственные аттрибуты объекта. "все аттрибуты объекта" наверное включает аттрибуты класса(и его предков).
setattr тут причем?

Ответы>>665606

24 Фев, 22:19 #16 #665566

Сап, питонч.
Такое дело. Я учусь в шараге на электронщика. У нас программирования практически нет, а то что есть- преподают хуево. А с другой стороны я, дабы подрабатывать, самостоятельно изучал html -> css -> js.
Вот. И я хочу еще язык изучить, дабы серверную часть сайтиков на нем писать, да и еще чтобы, возможно, он как-то с основной специальностью увязался. Слышал, что питон, помимо веб-разработки, еще и в научных целях используется. А на счет электроники, применяется ли он в этой области?

Ответы>>665569>>665572>>665698

24 Фев, 22:20 #17 #665569

>>665566
А что такое электронщик?

Ответы>>665583

24 Фев, 22:21 #18 #665571

>>664900
>>664723
Спасибо за помощь.

24 Фев, 22:21 #19 #665572

>>665566
Я бы рекомендовал node.js глянуть, раз уж жс учил

Ответы>>665583

24 Фев, 22:25 #20 #665583

>>665569
Электронные схемы проектировать/считать/паять.
Я если честно сам еще не до конца понял, у нас по специальности предметы только в этом году начались.
>>665572
В сторону ноды я давно смотрю, это было бы быстрее всего, да и js мне приглянулся.

Ответы>>665587

24 Фев, 22:26 #21 #665587

>>665583
А нафига тебе в схемах программирование? Там есть специальный софт в котором их рисуешь, платы разводишь и т.п.
Ну если ты будешь какие-то девайсы паять, которые можно программировать, то скорее всего там C. Хотя есть micropython.

Ответы>>665593

24 Фев, 22:29 #22 #665593

>>665587
Пока все так и есть. Программировать нравится.
На первом курсе С изучали, я уже забыл все.

Ответы>>665597

24 Фев, 22:32 #23 #665597

>>665593
У меня в вузике кстати вообще как-то мало внимания этому уделяли. Нет, у нас была электротехника, где мы теорию простую сдавали и какие-то схемы составляли из кубиков на лабараторной. А вот что-то паять, сложные схемы делать, платы разводить - этого вообще не было.
Учился на АСУ.

Ответы>>665605

24 Фев, 22:38 #24 #665605

>>665597
Я тоже на АСУ, лол. И чем сейчас занимаешься?
Вот еще про С# думаю "есть один знакомый" подрабатывает на нем, чуть ли не 200к/сек. Ну и про java, ибо, как говорят, на нём все ололо-девайсы работают.

Ответы>>665699

24 Фев, 22:39 #25 #665606

>>665565
>setattr тут причем?
чтобы
>заносить соответствующие значения как атрибуты
не?

Ответы>>665701

24 Фев, 23:24 #26 #665687

писал на питоне 5 лет. Токо сейчас осознал какое это гавно.

Изучаю плюсы и жалею о проёбаных годах.

Ответы>>665702

24 Фев, 23:25 #27 #665692

>>665560
>Первое. через setattr или self.__dict__
хуясебе как оно умеет.

но это же поди не тру добавлять атрибуты? нужно плодить сабклассы наверно

Ответы>>665703

24 Фев, 23:27 #28 #665698

>>665566
Python, Node.js - это всё веб. Использование их в других сферах весьма мало. Для электронщины тебе без Си не обойтись ну никак.

Ответы>>665706

24 Фев, 23:27 #29 #665699

>>665605
> И чем сейчас занимаешься?
Никогда по специальности не работал, начал быдлокодить на php на 3-м курсе, всмысле работать. Быдлокодил то я и до этого.

24 Фев, 23:28 #30 #665701

>>665606
Заносить значения как атрибуты можно просто obj.newvalue = 'foo'
setattr для этого не нужен.

Ответы>>665723>>665731

24 Фев, 23:28 #31 #665702

>>665687
Подробнее пожалуйста. Мне вот плюсы кажутся говном из-за тыщи многабуквенных стандартов и <meta::StdVector<Map, String> Hui::Zopa>Raz::Dva>

Ответы>>665722

24 Фев, 23:28 #32 #665703

>>665692
Обычно все аттрибуты добавляют в __init__

Ответы>>665785

24 Фев, 23:29 #33 #665706

>>665698
питон это далеко не только веб.

24 Фев, 23:36 #34 #665722

>>665702

слабый и ограниченный язык. Нет мощи. Он сложен, очень тяжел и очень опасен. Ничего серьёзного на нём не написать.

Легкий прототип для показа на презентации да - как и сделано было с ютубом и дропбоксом.

Но в конце концов всё всё равно пишеться на более мощныз языках.

Ответы>>665725>>665824

24 Фев, 23:38 #35 #665723

>>665701
Задание прочти уже, блядь. Там атрибуты динамически добавляются.

Ответы>>665727

24 Фев, 23:39 #36 #665725

>>665722
А как насчёт гибридных приложений где критичные части на си, остальное на питоне? Например вроде бы hg так сделан.

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

Ответы>>665729>>665730

24 Фев, 23:44 #37 #665727

>>665723
А, я не туда смотрел.
ну да, через setattr и __repr__ переопределить

24 Фев, 23:46 #38 #665729

>>665725

ну я не представлю как можно написать серьёзное огромное приложение на питоне.

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

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

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

Область питона это легкий сайт, как говориться фаст старт.

Посчитать математику.

Ну и исполнить пару скриптов, простых.

Ответы>>665733>>665824>>666106

24 Фев, 23:47 #39 #665730

>>665725
Это кстати охуенные подход, благодаря этому у hg офигенный апи - легко писать хуки всякие и расширения.

24 Фев, 23:47 #40 #665731

>>665701
>setattr для этого не нужен.
Есть подозрение, что при таком присвоении как раз метода setattr и вызывается.

24 Фев, 23:48 #41 #665733

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

Ответы>>665734

24 Фев, 23:51 #42 #665734

>>665733

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

24 Фев, 23:53 #43 #665738

для системных приложений - плюсы.
для веба - джава.

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

всё остальное уже так, на любителя и питон в их числе.

Ответы>>665741>>665824

24 Фев, 23:55 #44 #665741

>>665738
На джаве писать боль. Куча boilterplate и прочего. Но jvm годнота. Поэтому все и его собака используют scala. Или там groovy, kotlin и прочее.
Для системных приложений чаще не плюсы, а обычный си. Куда ни плюнь - си. Плюсы тоже, но реже.

24 Фев, 23:59 #45 #665746

И вообще. Вот надо тебе crud`а всякого налепить и генерить отчеты допустим. Такой-то энтерпрайз.
На питоне ты берешь алхимию и на ней можно какие угодно запросы построить к любой бд. Веб интерфейс или rest api тоже лепится с пол пинка. Библиотеки для генерации отчетов в pdf/docx/что угодно есть. За месяц можно выкатить рабочую
Теперь джава - там конфигурирование всего этого начиная с hibernate на XML займет полгода.
Будет ли оно работать быстрее? Да нихуя, большую часть времени будут занимать запросы к БД.

Ответы>>665751>>665772

25 Фев, 00:02 #46 #665748

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

25 Фев, 00:05 #47 #665751

>>665746

на питоне это просто месево будет.

на джаве будет порядок, одно из другого будет следовать. Проверка типов, проверка методов. Будет архитектура.

Чтобы добавить таблицу надо только написать новый xml.

На питоне же надо перелопатить всё, от начала до конца.

Ответы>>665756>>665772>>665796

25 Фев, 00:08 #48 #665756

>>665751
> Проверка типов
Хуйня. В питон 3.5 добавили аннотацию типов, можешь хоть опроверяться с mypy или pycharm. Можно было и до этого, просто типы описывались другим способом.
> проверка методов.
Что это такое вообще?
> На питоне же надо перелопатить всё
Схуяли? ORM используй.

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

Ответы>>665760

25 Фев, 00:10 #49 #665760

>>665756

проверка того, что метод возвращает и что принимает.

ну хз, чёт по вакансиям не видно, что прям массово люди кинулись всё на питоне писать.

Одни плюсы и джава.

Ответы>>665765

19 Кб, 564x295

30 Кб, 378x266

25 Фев, 00:14 #50 #665765

>>665760
Ну ладно. Питона популярность будет только расти, на западе ему сейчас учат во многих вузах и колледжах. И даже у нас кое-где.
> проверка того, что метод возвращает и что принимает.
https://www.python.org/dev/peps/pep-0484/
http://mypy-lang.org/
pycharm
но вообще это меньшая из проблем

Ответы>>665776>>665794

sage 25 Фев, 00:23 #51 #665772

>>665746
на гвидоне берешь и делаешь from django import tipichny_krud
>>665751
>на джаве будет порядок, одно из другого будет следовать
оч толсто. из боба абстрактной фабрики прокси синглтонов ничего не следует.

Ответы>>665773>>665776

25 Фев, 00:26 #52 #665773

>>665772
> tipichny_krud
Если он типичный. Но, как правило, он нихуя не типичный. И придется всё перелопачивать опять.

25 Фев, 00:27 #53 #665776

>>665772
>>665765

a = ["b", 1, {1,2}, (2,3), [12,3]]

for i in a:
#что то делать

по вашему это не опасная возможность языка?

всё что угодно может попасть туда и вызвано будет где-то в глубине и вы неделю будете искать что же туда могло залезть не то.

Ответы>>665780>>665802>>665831

25 Фев, 00:28 #54 #665779

На джаве же я пишу

ArrayList<Integer> a = new ArrayList<Integer>()

и всё, я могу быть спокоен, что там будут числа. Что я могу свободно делать что надо.

25 Фев, 00:29 #55 #665780

>>665776
> всё что угодно может попасть туда
не может если ты сам это туда не засунешь.

25 Фев, 00:32 #56 #665785

>>665703
>Обычно все аттрибуты добавляют в __init__
ну и я про то же.
Выходит добавление "на лету" в __setattr это не более чем этакий выебон, в жизни так не делают?

Ответы>>665792

25 Фев, 00:35 #57 #665791

да и ООП какое-то детское. Магические методы? лол что? нахрен мне эти методы, я хочу руками всё написать и видеть что происходит, а не париться над размышлениями, что же там делает метод номер 64.

Ответы>>665795>>665824

25 Фев, 00:35 #58 #665792

>>665785
Делают но в каких-то хитровыебнутых случаях.

25 Фев, 00:36 #59 #665794

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

Ответы>>665801>>665824

25 Фев, 00:36 #60 #665795

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

25 Фев, 00:36 #61 #665796

>>665751
>на питоне это просто месево будет.
>на джаве будет порядок
по что я ебаный нуб а и то представляю, что это зависит не от языка, а от того как процессы поставленны на производстве.

Ответы>>665824

19 Кб, 827x506

25 Фев, 00:38 #62 #665801

>>665794
Он уже не умрет. Слишком дохуя где используется, слишком много кода на нем и библиотек/утилит.
Даже perl ещё шевелиться, вот кто начал умирать больше 10-и лет назад и вообще не развивался.

25 Фев, 00:38 #63 #665802

>>665776
>по вашему это не опасная возможность языка?
>
a rm -rf * какой маньяк вообще придумал? Это вообще нахуя? Пизда всему

328 Кб, 621x268

25 Фев, 00:58 #64 #665824

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

>>665729
Я участвовал в разных проектах на разных языках, поверь, так можно сделать не только на питоне, на плюсах тоже можно и ещё легче даже. Разгадка проста: нужно уметь в декомпозицию задач, человек в принципе не способен дохуя удерживать в поле внимания.

>>665722
>слабый и ограниченный, Нет мощи, сложен, очень тяжел и очень опасен
У меня такое подозрение что ты не писал на питоне 5 лет. Что в нём сложного? Конечно он медленный, но всё остальное тобою сказанное противоречит чуть ли не полувековому опыту развития динамических языков.

>>665796
Ага, видимо плохой опыт у чувака был.

>>665791
>ооп детское. Магические методы? лол что?
Поясни.

>>665794
Если бы его не развивали, не сделали тройку, асинхронность, не запиливали pypy, то да, питон бы уже всё. Бугурт двоечников 3..2..1..

Ответы>>665833

25 Фев, 01:09 #65 #665831

>>665776
Ох, ну если уж припеклоу, то можно типы проверять вставляя assert. Для типизированных списков можно написать свой list. Можно использовать numpy для обработки численных массивов. Всё это на самом деле в питоне реализовано лучше, чем в остальных динамических языках. Типизация хоть и динамическая, но сильная, в случае чего у тебя вылетит экзепшен, даже без всяких ассертов.

153 Кб, 1075x342

25 Фев, 01:10 #66 #665833

>>665824

Ответы>>665834

25 Фев, 01:11 #67 #665834

>>665833
На твою пикчу я уже отвечал в прошлом треде. 50к пакаджей протухшего говна, которое никому не нужно.

Ответы>>665837

85 Кб, 598x368

25 Фев, 01:14 #68 #665837

>>665834
Ты послушай о чем он говорит. От этого протухшего говна зависит дохуя другого говна и так по цепочке. В итоге проекты не могут перейти на 3-шку или им придется патчить не только свой код, но и библиотеки, которые они не писали.
Вторую половину лекции он говоит про diversity. Что мало баб кодеров и надо взять в core team пару баб, пусть и нубов. И что мало негров. Они там совсем ебанулись на эту тему. В джанго тоже на djangocon какие-то бабы феминистки выступают говорят что их притесняют за то что они тян. Даже в ДС был недавно event django girls.

Ответы>>665844

25 Фев, 01:21 #69 #665844

>>665837
И чо? С пхп4 на пхп5 всё на перегонки портировали, никто не ныл. На крестах постоянно со стандарта на стандарт портируют и в хуй не дуют по этому поводу, говорят даже что мало, давай ищщо стандартов. С ES3 на ES5 перешли и не заметили, ES6 ещё в браузерах не заработал, а все на нём уже пишут.

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

Ответы>>665846

25 Фев, 01:25 #70 #665846

>>665844
Потому что в энтерпрайзных языках вроде php не ломали обратную совместимость(а надо было бы)

Ответы>>665847

25 Фев, 01:28 #71 #665847

>>665846
Ещё как ломали. Другое дело что в питоне сломали болезненную фичу: возможность байтово хакать строки, куча быдлокодеров сразу же заныло и засопротивлялось. Раковые опухоли надо отрезать. В итоге у нас няшная чистая тройка вместо ебанутого синтаксиса как у жс и крестов.

Ответы>>665849

25 Фев, 01:31 #72 #665848

Бля, хоть сервис открывай. Портирую библиотеку с 2 на 3 если под неё наберётся определённая сумма денег. Вывести список двоечных библиотек и пусть голосуют баблом.

25 Фев, 01:34 #73 #665849

>>665847
Уже вернули в тройку такую возможность азазаз по многочисленным просьбам.

Ответы>>665851>>665855

113 Кб, 599x491

25 Фев, 01:36 #74 #665851

>>665849
Где?

Ответы>>665854

25 Фев, 01:47 #75 #665854

>>665851
Не помню. Но там что-то меняли в поведении кодеков и вроде бы раньше всякие функции работы со строками с bytes не работали.

25 Фев, 01:47 #76 #665855

>>665849
>кудах тах тах кококо петухи запелиии

25 Фев, 01:50 #77 #665856

Тройка калеченая

Ответы>>665859>>665860

69 Кб, 451x308

25 Фев, 01:50 #78 #665858

http://lucumr.pocoo.org/2014/1/5/unicode-in-2-and-3/
http://blog.thezerobit.com/2014/05/25/python-3-is-killing-python.html

Ответы>>665861

25 Фев, 01:51 #79 #665859

>>665856
Двойка калеченая

25 Фев, 01:53 #80 #665860

>>665856
Тройка - для обучения школьников. Двойка - для работы.

25 Фев, 02:00 #81 #665861

>>665858
Армина сразу нахуй.
Второй по сути ноет что дорого библиотеки портировать. Посту почти два года.

Заебали ныть. http://py3readiness.org/

Ответы>>665864>>665865

1734 Кб, 360x270

25 Фев, 02:09 #82 #665864

>>665861
>ansimble
>fabric
>magic
>cjson
>google apps
>mechanize
>scarpy
>openid

25 Фев, 02:10 #83 #665865

>>665861
Просто посмотри правде в глаза, питон3 навсегда останется экспериментальной бетой. Нечетные версии - эспериментальные.
История напонимает perl6 или php6.
Адекватные люди сидят на двойке, а потом выйдет питон4 полностью обратно совместимый с python 2.9

Ответы>>665871>>665877>>666781

25 Фев, 02:50 #84 #665871

>>665865
Хорошая такая экспериментальная бета, на которую уже перенесли 95% актуального кода. Предлагаете к питону4 назад на двойка-like всё переносить? Называете себя адекватными людьми? Лол, ну удачи.

А ведь есть ещё pypy, и даже pypy3. На него в разы меньше пакаджей, многие сишные переписываются под cffi. А наши двоечники всё ждут обратной совместимости со своим говном времён кобола.

Ответы>>665873

25 Фев, 02:56 #85 #665873

>>665871
> На него в разы меньше пакаджей
Что это значит. Он совместим с cpython если там нет C-кода.
Вот есть ещё всякие cython че там незнаю.

Ответы>>665875

25 Фев, 03:00 #86 #665875

>>665873
>Что это значит. Он совместим с cpython если там нет C-кода.
>Вот есть ещё всякие cython че там незнаю.

Я нихуя не понял.

Ответы>>665876

25 Фев, 03:03 #87 #665876

>>665875
> А ведь есть ещё pypy, и даже pypy3. На него в разы меньше пакаджей

Любые пакаджи обычного питона там работают, если в них нет кода на си

32 Кб, 479x479

25 Фев, 03:03 #88 #665877

>>665865

25 Фев, 05:31 #89 #665913

Как сделать на питоне полноценное приложение под линух? Ну чтобы приложение называлось, например yoba - вводишь в консоль yoba и оно запустилось.

Ответы>>665914>>665915

25 Фев, 05:36 #90 #665914

>>665913
Положить в /usr/bin или /usr/local/bin скрипт yoba, который будет делать что-то типа "import yoba;yoba.main()". И пэкэдж yoba положить куда-нить в /usr/lib/python3/dist-packages/ или куда там ставяться они

25 Фев, 05:37 #91 #665915

>>665913
#!/usr/bin/env python
print('ETO TY?')

А потом да, в /bin, ну или куда там ещё твой PATH указывает.

Ответы>>665918

25 Фев, 05:38 #92 #665918

>>665915
Не в /bin. В /bin чисто системные команды, а не пользовательский софт.
В /usr/bin или лучше в /usr/local/bin

25 Фев, 06:25 #93 #665926

Господа, обращаюсь к вам за советом.

По долгу службы работаю с графикой, сейчас стоит задача сделать оценку баланса белого на изображении по ступенчатому градиенту (есть 6 квадратов разного оттенка серого). Как я понимаю мне нужно определиться с областью и провести ее анализ для получения гистограммы (средний уровень белого, отклонение и мб другие параметры). Дайте советов мудрых, какой функциональный инструментарий можно использовать для решения этой задачи.

Ответы>>665928>>665929

25 Фев, 06:28 #94 #665928

>>665926
> ступенчатому градиенту
> гистограммы
Мы тут даже таких слов не знаем чувак. Спроси на linux.org.ru в разделе форума development

25 Фев, 06:29 #95 #665929

>>665926
Но вообще pillow и numpy http://docs.scipy.org/doc/numpy-1.10.1/reference/generated/numpy.histogram.html

25 Фев, 09:34 #96 #665979

>>665549
ИМХО, имеет смысл, если тебе интересно разобраться, как оно все устроено/хочешь какую-нибудь супер-оригинальную фичу, которой нигде нет. Если хочешь просто без затей сделать игру - конструкторы лучше. но возможно, что это у меня просто руки кривые и мозгов нет
А еще pygame плох тем, что из-за особенностей питона сделанные из него экзешники будут много весить, но это уже не проблема pygame.

Ответы>>665980

25 Фев, 09:35 #97 #665980

>>665979
> экзешники будут много весить
Ой на это всем насрать давно, времена диалапа прошли.

Ответы>>665983

25 Фев, 09:41 #98 #665983

>>665980
Когда простенький платформер весит как что-то серьезное - это не смертельно, но раздражает и да, даже сейчас не у всех безлимитка

25 Фев, 11:31 #99 #666060

Посоны, посоветуйте легкую либу для конвертации гифок в джипеги, только не PIL.

Ответы>>666064>>666092

25 Фев, 11:41 #100 #666064

>>666060
imagemagick

Ответы>>666087

25 Фев, 12:03 #101 #666075

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

25 Фев, 12:18 #102 #666084

Поясню с точки зрения полного нубаса чем охуенен питон:
ОН ПРОСТО РЕШАЕТ ПРОБЛЕМЫ ПЕРЕД НИМ ПОСТАВЛЕННЫЕ
не сказать что очень быстро внутри него всё крутятся, не сказать что вот прям из коробки, но в целом я за овер 2,5 месяца программирования от абсолютного ноля до того, кто туда-сюда все свои текущие с недостатком автоматизации проблемы или уже порешал, или на пути к этому.
Наверняка всё что я накодил это лоховской уровень, я даже сторонние модули не читаю перед использованием, но это уровень достаточный для среднего и мелкого отечественного бизнеса.
Из нахуяренного: простенькая система для работы с дилерами на веб2пу: просто таблица с авторизацией куда могут дилеры добавлять чё им надо, а я проставлять "предполата, оплата, заказ, на складе, доставка/самовывоз и прочие мелочи"
На складе валяется айпад с симкой и доступом к табличке, так что кладовщик тоже ставит что кому дал.
Люди и я тут же получают нотификейшн через е-мейл о статусе изменениях и тд.
Целая куча разной хуйни от тупорылого сортировщика корреспонденции упавшей на почту до моего текущего проекта - парсинга яндекс пробок что бы вдуплить где мне билборды покупать что бы как можно больше водятлов их увидело и разглядело.

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

25 Фев, 12:20 #103 #666087

>>666064
Ну не, там похоже зависит от бинарника какой-то левой проги, не просто pip install.

25 Фев, 12:33 #104 #666092

>>666060
pillow
yoba.png

Ответы>>666098

25 Фев, 12:40 #105 #666098

>>666092
Ну ладно, уговорили, щас сам буду писать велосипеды и изучать форматы.

Ответы>>666100

6 Кб, 640x400

25 Фев, 12:42 #106 #666100

>>666098
Ты хочешь на чистом питоне написать конвертер графических файлов? Даже без всяких numpy?

128 Кб, 616x277

25 Фев, 12:48 #107 #666106

>>665729
> где можно хранить в списке даже не просто
Кстати, с аннотациями типов можно указывать, что может быть в списках для проверки типов

25 Фев, 13:05 #108 #666122

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

Ответы>>666124

25 Фев, 13:10 #109 #666124

>>666122
from collections import Counter
text = open('filename.txt').read()
newfile = open('foo.txt', 'w')
for word, count in Counter(text.split()).items(): newfile.write('%s - %d\n' % (word, count))
newfile.close()

Ответы>>666127>>666131

25 Фев, 13:10 #110 #666127

>>666124
Чтобы по буквам и символам просто убери .split()

Ответы>>666131

25 Фев, 13:14 #111 #666131

>>666124
>>666127
Огроменное спасибо. Ща попробую. А потом буду пытаться понять предпоследнюю строчку.

25 Фев, 14:01 #112 #666196

Что почитать для освоения django php-макаке? Или всё-таки застрелиться?

Ответы>>666197>>666200

25 Фев, 14:02 #113 #666197

>>666196
tutorial на оф сайте

25 Фев, 14:03 #114 #666200

>>666196
Есть даже на русском http://djbook.ru/rel1.8/
Если ты работал с каким-нить MVC фреймворками и ORM на php то вообще всё понятно будет сходу. Да даже если не работал.

Ответы>>666220

25 Фев, 14:26 #115 #666220

>>666200
Это пнятно. А книженции какие-нибудь для общей картины?

Ответы>>666223>>666257

25 Фев, 14:27 #116 #666223

>>666220
Погружение

25 Фев, 15:00 #117 #666257

>>666220
2 scopes of django

25 Фев, 19:19 #118 #666538

Как узнать домашний каталог пользователя? Типа /home/yoba, /root, C:\Users\yoba?

Ответы>>666539

25 Фев, 19:23 #119 #666539

>>666538
import os
os.path.expanduser('~')

Ответы>>666654>>666777

25 Фев, 20:33 #120 #666654

>>666539
Кокой смайлик

Ответы>>666778

25 Фев, 20:51 #121 #666708

Ну шо посаны, как думаете имеет ли смысл ехать на PyCon во Львов в апреле?

Ответы>>666715>>666721>>667206

25 Фев, 20:52 #122 #666715

>>666708
>во Львов
Чот не тянет как-то.

Ответы>>666726

25 Фев, 20:55 #123 #666721

>>666708
Ещё бы
Львов охуенен
Местные куда цивилизованнее и похуистичнее, чем всё то быдло которое ты встретишь по пути во Львов
Будешь за косарь руб в сутки там царем и повелителем, а если ещё не начнёшь всякую хуйню неинтересную о политике базарить - какая-нибудь пани согласится погреть твоего питончика

Ответы>>666726>>666783

25 Фев, 20:55 #124 #666726

>>666715
Ну кацапам то понятно, а вот мне как Киевлянину? Просто никогда на таких конфах не был. Туда имеет вобще смысл ехать человеку с уровнем между энтри и джуниор?
>>666721
Да знаю я что Львов охуенен. Меня сам смысл PyCon-a для новичка интересует.

Ответы>>666741

40 Кб, 410x320

25 Фев, 20:59 #125 #666741

>>666726
> кацапам
> Киевлянину
> никогда на таких конфах не был
> уровнем между энтри и джуниор

25 Фев, 21:14 #126 #666777

>>666539
Спасибо.

Ответы>>666985

25 Фев, 21:14 #127 #666778

>>666654
os.path.expanduser(:3)

25 Фев, 21:16 #128 #666781

>>665865
хз, у нас 3-ка в продакшене крутится, брат жив
на второй смотрю как на говно

25 Фев, 21:17 #129 #666783

>>666721
Заманиваешь меня во Львов, да? А потом гопнешь в подворотне, обоссышь и заставишь своего питона гладить.

Ответы>>666805

25 Фев, 21:24 #130 #666793

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

25 Фев, 21:28 #131 #666801

Во-первых, все эти конференции можно на ютубе посмотреть через пару недель. Во-вторых, там не гвида/бизли/тот-негр-с-пучикаго выступает, чтобы в рот смотреть. Единицы докладов покажут или откроют что-то новое. В-третьих, платить за это деньги? Ну, если конторка платит, то можно.

Ответы>>666807>>667208

25 Фев, 21:30 #132 #666805

>>666783
Ты конечно не поверишь, но так-то я вообще в ДНР живу и за него же топлю. Но Львов люблю.

Ответы>>667216

25 Фев, 21:31 #133 #666807

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

25 Фев, 21:31 #134 #666809

Заебали политикой. Лучше уж срач 2vs3.

Ответы>>666811>>666820>>666822

25 Фев, 21:32 #135 #666811

>>666809
О чём спор? питон 3 вымрет как пхп7, никому не нужно то, что в продакшн не запихунть

25 Фев, 21:37 #136 #666820

>>666809
О чём спор? питон 2 вымрет как делфи, никому не нужно неподдерживаемое легаси дерьмо.

25 Фев, 21:40 #137 #666822

>>666809
Кодю на питон-1 и охуенно мне

Ответы>>666825

25 Фев, 21:42 #138 #666825

>>666822
А что, такой есть? Это типа протоукров что-то?

Ответы>>666833>>667211

25 Фев, 21:47 #139 #666833

>>666825
в отличии от протоукров, хотя бы существовал
https://www.python.org/download/releases/

25 Фев, 22:33 #140 #666890

Как импортировать файл, лежащий в другой папке? Допустим у меня есть файл 'test.py' и папка 'src', в которой лежит 'data.py'. Что нужно вести, чтобы в test.py импортировать data.py?

Ответы>>666898

25 Фев, 22:35 #141 #666898

>>666890
from src import data

Ответы>>666919

25 Фев, 22:43 #142 #666919

>>666898
Пишет Error: No module named src

Ответы>>666961>>671729

25 Фев, 23:02 #143 #666961

>>666919
В src создай дваподчеркиванияinitдваподчеркивания.py

Ответы>>666981

25 Фев, 23:04 #144 #666970

>>652531
Пытался поставить пакет(или как это зовется) анакондас, выбивало ошибки, типо не может добавить в путь и еще что-то, питон поставился - а оболочка ipython - нет. Имя у меня кириллицей. Может ли это быть причиной? Или же я не могу найти ipython? Как мне переименовать и не проебать все установленное?

Подскажете?

Сорян, не сразу нашел актуальный тред.

Ответы>>666973

25 Фев, 23:07 #145 #666973

>>666970
Простой способ: virtual box с линуксом
Сложный: гугли

Ответы>>666976

25 Фев, 23:08 #146 #666976

>>666973
В итоге у меня что-то поставилось, сам питон - точно установился, может я этот айпитон не могу найти? Вообще папка появилась с ним, но там только templates внутри, по локалхосту не заходит.

Ответы>>667043

25 Фев, 23:12 #147 #666981

>>666961
Сработало, спасибо!

25 Фев, 23:14 #148 #666985

>>666777
Алсо, для комбинирования путей с домашним каталогом конкатенация не обязательна.

os.path.expanduser('~') # output: /home/yoba
os.path.expanduser('~/Documents') # output: /home/yoba/Documents

25 Фев, 23:43 #149 #667043

>>666976
Я так и не понял втф анаконда, если честно
ipython. - питоновский шелл более удобный с плюшками автодополнением и тд
ipython notebook - сорт оф документы гугл драйв для отображения сразу на а4 всякого говна вычислительного вперемешку с данными и тд. Наверное удобно, но привычки нету.
pip - менеджер пакетов

Анаконда тогда выходит типа такой автоматической средой для запуска-подбора пакетов-среды так сказать исполнения?

Ответы>>667048>>667461

25 Фев, 23:44 #150 #667048

>>667043
http://fablabs.ru/wiki/index.php/Anaconda
Я про это, в итоге попробую завтра переименовать юзера.
Или лучше создать еще одного, думаю получится юзать со своего основного?

26 Фев, 01:24 #151 #667206

>>666708
Нехуй там делать, посмотришь на ютубе потом. Тем более какой-то провинциальный pycon там и докладов интересных не будет.

26 Фев, 01:26 #152 #667208

>>666801
> бизли/тот-негр-с-пучикаго выступает, чтобы в рот смотреть
Дай ссылочку. Хочу в рот посмотреть.

Ответы>>667255

26 Фев, 01:28 #153 #667211

>>666825
Я на нем даже писал, на 1.6
На самом деле всё там нормально было

26 Фев, 01:34 #154 #667216

>>666805
> но так-то я вообще в ДНР живу и за него же топлю
Нахуя, ты ебанутый? Я думал таких людей в IT не бывает, тех кто там бы жил и болел, а не издалека поддерживал.

Ответы>>667219

41 Кб, 600x600

26 Фев, 01:36 #155 #667219

>>667216
Может он министр ИТ ДНР и ему там норм?

Ответы>>667223

test 26 Фев, 01:39 #156 #667223

>>667219
_____________##_##_____________
____________######____________
___________#######____________
__________########____________
_________#########____________
__________#######______________
___________#####________________
___________#####________________
___________#####________________
___________#####________________
___________#####________________
__#####___#####____#####_____
_#######__#####__########___
#########_#####_#########__
#########################_
#########################_
_#######################___
___#########_____#######_____
____#######________#####______
______####_______________________

26 Фев, 01:45 #157 #667233

................00000000000
..............00,,,,,,,0,,,,,,00
.............0,,,,,,,,,0,,,,,,,,,0
............0,,,,,,,,,,0,,,,,,,,,,0
...........0,,,,,,,,,,,0,,,,,,,,,,,0
...........0,,,,,,,,,,,,,,,,,,,,,,,,0
...........0,,,,,,,,,,,,,,,,,,,,,,,,0
...........0,,,,,,,,,,,,,,,,,,,,,,,,0
............0,,,,,,,,,,,,,,,,,,,,,0
.............000000000000000
.............0,,,,,,,,,,,,,,,,,,,0
.............0,,,,,,,,,,,,,,,,,,,0
.............0,,,,,,,,,,,,,,,,,,,0
.............0,,,,,,,,,,,,,,,,,,,0
.............0,,,,,,,,,,,,,,,,,,,0
.............0,,,,,,,,,,,,,,,,,,,0
.............0,,,,,,,,,,,,,,,,,,,0
.............0,,,,,,,,,,,,,,,,,,,0
.............0,,,,,,,,,,,,,,,,,,,0
.............0,,,,,,,,,,,,,,,,,,,0
.............0,,,,,,,,,,,,,,,,,,,0
.............0,,,,,,,,,,,,,,,,,,,0
.............0,,,,,,,,,,,,,,,,,,,0
.............0,,,,,,,,,,,,,,,,,,,0
.............0,,,,,,,,,,,,,,,,,,,0
.........000,,,,,,,,,,,,,,,,,,,,,,000
.......00,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,00
......0,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,0
.....0,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,0
....0,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,0
...0,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,0
...0,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,0
...0,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,0
....0,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,,0
.....0,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,,,0

sage 26 Фев, 01:46 #158 #667234

На хуях должно быть написать "2vs3 за ДНР". Тогда будет канонично.

26 Фев, 02:00 #159 #667245

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

Ответы>>667261

26 Фев, 02:10 #160 #667255

>>667208
https://www.youtube.com/watch?v=MCs5OvhV9S4
https://vimeo.com/53039281
Бля, негра двадцать минут искал. James Powell. Короче, просто вбивай их в ютубе и смотри. Не дают скучать, шуточки-хуюточки, не тянут резину.

Ответы>>667264

133 Кб, 600x333

26 Фев, 02:14 #161 #667261

>>667245

26 Фев, 02:25 #162 #667264

>>667255
Спасибки

26 Фев, 05:18 #163 #667287

Во многих местах вижу конструкцию
if name = 'main':
Что это означает?

Ответы>>667288

26 Фев, 05:20 #164 #667288

>>667287
вангую что это говно не портируется при импорте модуля.
а? я угадал?? ммм?

Ответы>>667289

26 Фев, 05:24 #165 #667289

>>667288
да

Ответы>>671132

26 Фев, 06:11 #166 #667291

http://pyobject.ru/blog/2010/02/04/python-quiz/
"Классы" п3

Получилось сделать аттибуты по именам методов.
Как теперь вызывать методы имея только их "имена" в виде строк?

Ответы>>667293>>667296

26 Фев, 06:16 #167 #667293

>>667291
Чет я там такого не вижу в пункте 3

26 Фев, 06:28 #168 #667296

>>667291
Вообще getattr(obj, method_name)()

26 Фев, 06:54 #169 #667302

https://dpaste.de/x0f7

ну я сначала наделал атрибутов из методов, а теперь когда обращаются к аттрибуту хочу звать метод.
я знаю только название метода, как к нему обратиться?

альзо, если
class C()
то если я просто в основной программе обращусь к С(именно к описанию класса, не объекту) то как он себя ведет?

Ответы>>667303>>667304>>667305

26 Фев, 06:58 #170 #667303

>>667302
>self.__setattr__(new_attr,0)
А это зачем?

Ответы>>667306

26 Фев, 07:00 #171 #667304

>>667302
https://dpaste.de/KHRG#L

Ответы>>667308

26 Фев, 07:00 #172 #667305

>>667302
Вообще тебе нужны http://stackoverflow.com/questions/17330160/how-does-the-property-decorator-work
Наверное

Ответы>>667309

26 Фев, 07:04 #173 #667306

>>667303
легаси =)
Уже незачем.

26 Фев, 07:12 #174 #667308

>>667304
не могу понять почему нужно было закоментить self.__setattr__(new_attr,0)
То что оно бесполезно это одно, но почему с ним не работает?
Ведь позже переопределяется поведение на вызов этого атрибута, как оно умудряется нуль свой просунуть?

Ответы>>667310

26 Фев, 07:16 #175 #667309

>>667305
>http://stackoverflow.com/questions/17330160/how-does-the-property-decorator-work
ебать, I didnt ask for this...
Буду разбираться.
На всякий случай уточню, п4 в "Классах" в квизе по ссылке выше есть строка for i in Reg
это реализовано при помощи property?

Ответы>>667312>>667313

10 Кб, 305x238

26 Фев, 07:17 #176 #667310

>>667308
__getattr__ вызывается только если такой аттрибут не найдет в объекте(классе/родительских классах).
если тебе надо чтобы дергалось в любом случае есть __getattribute__, но лучше её не использовать(он будет вообще на любой чих дергаться)

7 Кб, 261x134

26 Фев, 07:20 #177 #667312

>>667309
Нет. Короче. property это хрень, чтобы аттрибуты на самом деле вызывали функции, но обращаться к ним как к артибутам можно было.

22 Кб, 394x344

26 Фев, 07:25 #178 #667313

>>667309
В п4 хрень в том, что он хочет чтобы итерироваться можно было по самому классу, а не инстансу. Это значит что надо с метаклассом пердолиться.

Ответы>>667314

26 Фев, 07:28 #179 #667314

>>667313
https://dpaste.de/sKTb
почему когда делаю del инстанса то оно не хочет делать __del__ ?

Ответы>>667318>>667320

26 Фев, 07:29 #180 #667315

Альзо, ты что в Сибири живешь? ну, а то бы могли уебывать, ты знаешь

Ответы>>667316

24 Кб, 482x363

26 Фев, 07:33 #181 #667316

>>667315
Нет. Короче, вот.
Пиздец уебанское задание
https://dpaste.de/QKdP

Ответы>>667317

26 Фев, 07:35 #182 #667317

>>667316
ебать, я пока еще не там, чтобы такие задания делать

Ответы>>667318

26 Фев, 07:39 #183 #667318

>>667317
Это задание ебанутое, в реальной жизни никто с этими метаклассами не пердолится. Если ты не пишешь очень хитровыебнутую библиотеку типа django orm.
>>667314
Кек, не сразу сообразил сам. Короче:
Потому что __del__ срабатывает когда ты удаляешь все ссылки на объект и он перестает существовать.
У тебя же ссылки на объект 2 - одна называется c, другая - внутри этого списка

Ответы>>667319

26 Фев, 07:41 #184 #667319

>>667318
т.е. del не удаляет сам объект. Он удаляет ссылку на него, которая называется "c". Сам объект удалиться сборщиком мусора, когда на него будет ноль ссылок.
т.е. ты мог бы написать
a=A()
b=a
__del__ сработает только когда ты удалишь обе ссылки - b и a.

Ответы>>667321

26 Фев, 07:43 #185 #667320

>>667314
В данном конкретном случае может помочь модуль https://docs.python.org/3/library/weakref.html

26 Фев, 07:46 #186 #667321

>>667319
Справедливо.
Однако почему если напрямую вызвать с.__del__()
чтобы сработал Base.remove(self) то оно пиздит что ничего ремув не может тк этого в списке и так нет

Ответы>>667322

26 Фев, 07:50 #187 #667322

>>667321
Скорее всего получается что оно у тебя 2 раза удаляется. добавь print внутрь __del__ чтобы понять что происходит.

Ответы>>667323

26 Фев, 07:55 #188 #667323

>>667322
Ну тоже странно. Оно аж 3 раза пытается удалить.
Я так понимаю что оно в __del__ еще чтото делает помимо того я ее явно прошу, возможно само себя зовет.
что, признаюсь, неочевидно

Ответы>>667324>>667325

26 Фев, 07:56 #189 #667324

>>667323
как будто оно не запись в листе удаляет а сам объект.

26 Фев, 07:57 #190 #667325

>>667323
Оно в __del__ удаляет объект из списка, который является последней ссылкой на этот объект и из-за этого вызывается __del__ опять. Такая хуйня.

Ответы>>667328

26 Фев, 08:00 #191 #667327

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

26 Фев, 08:01 #192 #667328

>>667325

выходит когда я вызываю с.__del__ я уничтожаю "с" И вызываю метод __del__
я думал что если я переопределяю метод то он делает только то что я говорю. Ну тоесть удалить никого уже не может.

Ответы>>667329>>667330

11 Кб, 392x212

26 Фев, 08:04 #193 #667329

>>667328
Нет, c уничтожаться не должен. Но ничего и не происходит, если его вызывать он удаляет из списка этот объект и всё

Ответы>>667331

26 Фев, 08:05 #194 #667330

>>667328
закоментил Base....remove(self) и просто проорал от происходящего

26 Фев, 08:06 #195 #667331

>>667329
но тогда схуя много раз вызывается __del__ ведь ссылка на объект сохраняется в с?

Впрочем, уже видно(выше писал) что удаления из списка тут ни при чем

Ответы>>667332

26 Фев, 08:08 #196 #667332

>>667331
Если ты просто вызвал __del__ как на моем скрине и ничего больше не делал, очевидно, что __del__ вызывается один раз, иначе оно бы вывело ошибку, потому что объекта в списке уже нет.

26 Фев, 08:10 #197 #667333

наверно в строчке for i in Base.child_roster[] оно создает итератор который по окончанию цикла уничтожается вместе с содержимым, это содержимое при погибели пытается стереть запись из списка в Base
Даже и логично

Ответы>>667334>>667338

26 Фев, 08:13 #198 #667334

>>667333
Ну i это тоже ссылка на объект, да. Хм.

26 Фев, 08:14 #199 #667335

еще раз спрошу.
если я переопределяю __methodname__ то мое "переопределение" просто добавляется к изначальному коду или заменяет его?
На примере с __del__

Ответы>>667337

26 Фев, 08:17 #200 #667337

>>667335
__del__ это изначально пуской метод по дефолту он нихуя не делает.
Нет, не добавляется. Ты должен из переопределенного метода вызывать метод класса-предка явно.
Обычно это делается через super
http://stackoverflow.com/questions/222877/how-to-use-super-in-python

Ответы>>667341

26 Фев, 08:19 #201 #667338

>>667333
а если итератор вызвать много раз,то удалит оно всеравно только один раз.
Это уже интерпретатор умничает?

Ответы>>667339

26 Фев, 08:20 #202 #667339

>>667338
Оно не должно __del__ вызывать, потому что у тебя ссылка сохраняется на объект как минимум в этом списке самом.

26 Фев, 08:26 #203 #667341

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

26 Фев, 08:26 #204 #667342

Вообще я не припомню чтобы __del__ когда-либо в реальном коде использовал.
> many in the Python community believe that __del__ is evil and shouldn't be used.

Лучше использовать with. И вообще сборщик мусора в cpython работает так, но это не гарантированно даже в нем.
А вот в каком-нить jython он работает вообще по-другому. Я с этим столкнулся когда делать что-то вроде
for f in files:
..x = open(f).read()
и так на куче файлов. В cpython файл сам закрывается т.к. объект типа file сразу собирается сборщиком мусора в такой строчке. В jython же - нихуя, у меня получилось maximum open files reached. Потому что сборщик мусора срабатывает не всегда, а по какому-то хитрому алгоритму, если его явно не дергать.
И неизвестно как работают сборщики мусора в pypy, ironpython и прочих. Лучше не расчитывать на какое-то определенное поведение.

Ответы>>667344

25 Кб, 592x278

26 Фев, 08:33 #205 #667343

Кек когда выходишь из интерпретатора вообще прикол.

Ответы>>667346

26 Фев, 08:34 #206 #667344

>>667342
Ох. Я про этот случай даже читал в какой-то доке, pypy кажется. open(f).read() - зло, with наше всё.

26 Фев, 08:36 #207 #667346

>>667343
Ага. Про __del__ даже в доках сипитона пишут что оттуда доступен очень ограниченный набор действий. Первая ошибка у тебя потому что ты явно вызвал del как обычный метод, и на второй del объекта в списке уже нет. Вторая ошибка видимо от того что на момент сборки мусора глобальный скоуп уже вычищен.

26 Фев, 08:36 #208 #667347

http://eli.thegreenplace.net/2009/06/12/safely-using-destructors-in-python
Вот щас читаю, дохуя неявных случаев всяких
> Circular references which are garbage are detected when the option cycle detector is enabled (it’s on by default), but can only be cleaned up if there are no Python-level __del__() methods involved.

26 Фев, 08:46 #209 #667351

ponyorm оказывается пидорашками написан
https://www.youtube.com/watch?v=xjikvIHjvHs

Ответы>>667352

26 Фев, 08:47 #210 #667352

>>667351
А aiohttp каклом :DDDD

26 Фев, 08:51 #211 #667355

Был кстати годный фреймворк django-подобный на на основе других библиотек и более гибкий https://bitbucket.org/piranha/svarga/src но его забросил давно

Ответы>>667356

26 Фев, 08:55 #212 #667356

>>667355
>более гибкий
Например?

Ответы>>667358

26 Фев, 08:56 #213 #667358

>>667356
Ну к джанге прибиты гвоздями, orm, формы и прочее. А в том фреймворке их легко заменить на другие. Сейчас на flask аналогично можно делать.

Ответы>>667364>>667365>>667385

26 Фев, 09:14 #214 #667364

>>667358
>прибиты гвоздями
Не прибиты. Импортируй SQLAlchemy какой-нибудь и используй. С формами ещё легче.

26 Фев, 09:14 #215 #667365

>>667358
Не представляю зачем это делать. Мне наверное даже нравится что никто это не шатает в джанге, совместимость, батарейки, все дела. Ещё я как-то трогал проект на джанге и алхимии вместо родной орм, и ниче, работало всё. Формы вроде бы стандартные.

26 Фев, 10:12 #216 #667385

>>667358
Это часто преимущество, а не недостаток.

2 Кб, 105x47

26 Фев, 11:35 #217 #667430

>>665294 (OP)
Анончик, хочу научиться писать красивый, асинхронный код в 3.5. Годных гайдов для нихуя не знающих об асинхронности не нашёл. У тебя есть что-нибудь по этой теме?

Ответы>>667439

26 Фев, 11:36 #218 #667434

Что за пиздец Dive into Python? Первая программа - непонятная хуйня. Вместо нормальных объяснений тех же циклов полный пиздец, который нихуя не понятен. Что я делаю не так?

Ответы>>667447>>667462

26 Фев, 11:40 #219 #667439

>>667430
Эм. А что там писать-то? Прежде всего доки по asyncio смотри. Иногда ещё бывает нужно в гитхабе посмотреть исходники этого asyncio, но это в крайних случаях уточнить то что в доке не описано.

26 Фев, 11:45 #220 #667447

>>667434
На кой ты его взялся читать? Укус, Доусона, Синк читай и не выебывайся

Ответы>>667463

26 Фев, 11:59 #221 #667461

>>667043
Питон, по дэфолту запакованный всевозможными либами для матана и науки. Что не понятного то?

196 Кб, 826x986

26 Фев, 11:59 #222 #667462

>>667434
>>667434
Бля.

Ответы>>667463>>667467

26 Фев, 12:00 #223 #667463

>>667462
-->
>>667447

26 Фев, 12:04 #224 #667467

>>667462
Анон, что нужно хорошо знать, чтобы взяться за Django?

Ответы>>667472

26 Фев, 12:09 #225 #667472

>>667467
Да ничего не нужно. Со всем можно походу разобраться.

26 Фев, 12:17 #226 #667476

Есть ли Анон, который может чекнуть гитхаб и указать на явный говнокод? Высрал свой первый недопроект. Хотелось бы замечаний и улучшений. Если тебе совсем нечего делать, то можешь даже закоммитить https://github.com/RichardVoid/VK_simple_status.

Ответы>>667480>>667481>>667484>>667491>>667500>>667507>>668047

11 Кб, 225x225

26 Фев, 12:21 #227 #667480

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

Ответы>>667482

26 Фев, 12:23 #228 #667481

>>667476
https://github.com/RichardVoid/VK_simple_status/blob/master/main.py#L150
OCHE дохуя буков для обработки времени. Проще надо, намного. Последнюю цифру взять кстати n % 10

Ответы>>667488>>667611

26 Фев, 12:23 #229 #667482

>>667480
Для OAuth нужно открывать страницу браузера. Понимаю, что нужно для безопасности это переделать, но пока не знаю как. Пока что такой говнокод. Предупреждал же, что недопроект.

26 Фев, 12:24 #230 #667484

>>667476
> + os.sep +
os.path.join же

В принтах всяких str.format лучше использовать чем через + всё писать.

> RuTime
Для этого была готовая либа где-то

А вообще норм выглядит, молодец.

Ответы>>667487

26 Фев, 12:26 #231 #667487

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

26 Фев, 12:27 #232 #667488

>>667481
Спасибо, переделаю.

26 Фев, 12:33 #233 #667491

>>667476
https://github.com/RichardVoid/VK_simple_status/blob/master/main.py#L23
Поменьше повторений надо. Вместо os.sep можно os.path.join использовать.

Один раз напиши
BASE_DIR = os.path.dirname(os.path.abspath(__file__))
и всё.

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

Ответы>>667495>>667498

26 Фев, 12:40 #234 #667495

>>667491
Данное API работает как бы с "мобильной версией" сайта ВК + VK очень странно просит капчу. Происходит это в самый ненужный момент, поэтому и гадаю. Очень долгоиграющий токен VK выдаёт только разработчикам standalone приложений, после запроса к модераторам. На мою фигню они подобный токен не выделят. Видел инструкцию на Хабре, как этот токен можно спереть из крупных, опенсоурс приложений для вк, но не рискнул, ибо не совсем это честно.

26 Фев, 12:42 #235 #667498

>>667491
Немного подробнее про селенум можно? Что, хотя бы, это такое?

Ответы>>667503

26 Фев, 12:43 #236 #667500

>>667476
https://github.com/RichardVoid/VK_simple_status/blob/master/main.py#L72
Вот здесь тоже глупость имхо. Просто число часов там сделай, причём через float() строку гони.

https://github.com/RichardVoid/VK_simple_status/blob/master/main.py#L93
Можно обойтись без переменной, сразу return.

26 Фев, 12:47 #237 #667503

>>667498
Это такой руль для полноценного браузера. Я уже подзабыл оаутх, но совсем недавно занимался селениумом. Насколько помню там надо просто открыть определённый стартовый урл, затем ждать пока урл не станет определённого вида (всё как для standalone кстати), там в фрагменте урла будет токен, нужно взять его и закрыть браузер. Короче могу тебе напилить если ты мне напомнишь урлы и какие куда там параметры передать.

Ответы>>667506

26 Фев, 12:50 #238 #667506

>>667503
Тогда годно. Попробую сам изучить + напилить. Спасибо за совет.

Ответы>>667507

26 Фев, 12:52 #239 #667507

>>667476
https://github.com/RichardVoid/VK_simple_status/blob/master/main.py#L118
Вот здесь else raise надо. Ибо оно у тебя втихаря затупит если экзепшен был, но не авторизация. Ещё хорошая практика делать exit(1) в случае ошибки. Это позволит писать башскрипты учитывающие завалы в твоей проге.

>>667506
Доки под питон обычно сложно найти сходу.
http://selenium-python.readthedocs.org/

26 Фев, 13:00 #240 #667514

https://github.com/RichardVoid/VK_simple_status/blob/master/main.py#L302
Вот так лучше:
new_date['year'] = '{} {}'.format(item[1], self.__year(item[1]))

26 Фев, 14:53 #241 #667611

>>667481
Спасибо за подсказку про остаток от деления. Рефакторнул и получил в 3 раза меньше кода.

Ответы>>667614

26 Фев, 14:59 #242 #667614

>>667611
Я тебе даже больше скажу по этой теме, есть всего несколько типов склонений слов по числительным. То есть универсально нужно всего около трёх функций, выдающих только окончание слова. По числовому спектру специальный случай только десятки.

если n // 10 % 10 == 1, то: минут
Иначе для n % 10:
0, 5, 6, 7, 8, 9 минут
1 минута
2, 3, 4 минуты

Ответы>>667616

26 Фев, 15:04 #243 #667616

>>667614
Где про подобную математику можно больше почитать(не только про склонения слов)? Моё математическое образование оставляет желать много лучшего.

Ответы>>667618

26 Фев, 15:07 #244 #667618

>>667616
А что математика? % это остаток деления, // это целочисленное деление (в отличие от / который выдаёт в общем случае float).

5 % 2 == 1
5 // 2 == 2
7 % 4 == 3
итд.

Ответы>>667622

2 Кб, 151x97

26 Фев, 15:11 #245 #667622

>>667618
> в отличие от / который выдаёт в общем случае float

Ответы>>667623>>667624

26 Фев, 15:12 #246 #667623

>>667622
ENTERPRISE
E
N
T
E
R
P
R
I
S
E

26 Фев, 15:12 #247 #667624

>>667622
Я уже на SO прочитал. Но всё равно спасибо. Чтож, будем думать как переделать снова.

Ответы>>668063

8 Кб, 318x244

26 Фев, 15:38 #248 #667644

у меня тут вопрос по соглашению по именованию переменных
есть ли какая-то рекомендация, как лучше называть переменные которые потом возвращаются из функции?
PEP8 Naming Conventions прочитал, не нашел
сам называю их out или res (out больше нравится), но это сцуко 3 символа ведь. использовал бы О, но PEP8 запрещает

Ответы>>667650>>667652>>667653>>667787

26 Фев, 15:43 #249 #667650

>>667644
Я часто result полностью пишу. Используй мелкую о.

Ответы>>667651

26 Фев, 15:43 #250 #667651

>>667650
спасибо

26 Фев, 15:43 #251 #667652

>>667644
Насколько я знаю - нет. Разве что, логично было бы называть их абстрактными именами того, что ты возвращаешь

25 Кб, 504x684

26 Фев, 15:44 #252 #667653

>>667644
Называй их по смыслу их содержания, а не просто out

Ответы>>667655

26 Фев, 15:45 #253 #667655

>>667653
вот это было ахуенно. благодарю

26 Фев, 15:47 #254 #667658

Экстеншоны на си лучше писать через родной интерфейс cpython или универсально учиться делать, через cffi? Чтобы сразу и под pypy подошло.

26 Фев, 15:52 #255 #667660

https://www.linux.org.ru/forum/job/12386037?lastmod=1456480201774
Или в ред хат устривайтесь питонщиками в чехию

26 Фев, 16:49 #256 #667787

>>667644
Да ты бы переменные пробелом именовал, если б разрешили.

Ответы>>667807

26 Фев, 16:55 #257 #667807

>>667787
Го PEP на переменные - эмодзи оформим. Только для илитарных пацанов и стремящихся.

26 Фев, 17:00 #258 #667821

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

Ответы>>667830>>667831

257 Кб, 1500x1000

46 Кб, 165x151

26 Фев, 17:05 #259 #667830

>>667821

26 Фев, 17:06 #260 #667831

>>667821
Как же хочется либу. Чтобы можно было погладить по её нежным модулям, прижаться к классам, почувствовать её методы, а она бы конструировала метаклассы под конкретную задачу. Мы бы сидели, писали и коммитили.

Ответы>>667904

26 Фев, 17:22 #261 #667861

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

26 Фев, 17:24 #262 #667866

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

26 Фев, 17:28 #263 #667874

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

26 Фев, 17:42 #264 #667882

Как написать текстовую рпг? Не для MUDаков, без онлайна.

Ответы>>667884

26 Фев, 17:42 #265 #667884

>>667882
Доусон

Ответы>>667978

26 Фев, 18:05 #266 #667904

>>667831
да ты бы и собаку закоммитил

26 Фев, 18:37 #267 #667929

Решил на локалхосте завести зеркало хтмл документации. Удалённые доки что-то часто долго открываются, особенно numpy. Есть ли под это добро готовые поисковые машины? Чтобы взял, проиндексировал, запустил сервачок, и ищи-гугли сколько влезет.

Ответы>>667957>>668012

26 Фев, 18:56 #268 #667957

>>667929
Если документация сгенерирована с помощью сфинкса, например. Но там статика и поиск работает. Можно хоть на гитхаб.io закидывать.

Ответы>>667979

26 Фев, 19:16 #269 #667978

>>667884
Чё?

26 Фев, 19:17 #270 #667979

>>667957
Не, готовое всё. Архивы с хтмлами.

143 Кб, 1010x645

102 Кб, 963x630

26 Фев, 19:45 #271 #668012

>>667929
А нахуя если есть devhelp?

26 Фев, 20:39 #272 #668047

>>667476
статикметоды это говно, либо обычные методы, либо функции

26 Фев, 20:51 #273 #668061

Хочу написать бота для управления группой вк.
Какой модуль импортировать, с чего начать, как авторизоваться?

Ответы>>668071

26 Фев, 20:53 #274 #668063

>>667624
>import configparser
import json
data = json.load(file)
json.dump(data, file)
>os.path.exists
os.makedirs(path, exist_ok=True)
>RuTime
http://ideone.com/7RZwv6

Ответы>>668079

26 Фев, 20:58 #275 #668071

>>668061
pip install vk

Ответы>>668136

26 Фев, 21:09 #276 #668079

>>668063
еще манипуляции с файлами заменить на pathlib чтоб совсем тру было

26 Фев, 21:09 #277 #668081

Вопрос ньюфага. Шиндошс, нужно чтобы по даблклику по *.py-файлу открывалась консолька и исполнялся сабж. Какой интерпретатор ставить?

Ответы>>668101

26 Фев, 21:23 #278 #668101

>>668081
Шебанг.

Ответы>>668106

26 Фев, 21:27 #279 #668106

>>668101
Н-но у меня же окошки.

Ответы>>668126>>668157

26 Фев, 22:03 #280 #668126

>>668106
Ладно, скажу просто по-другому. Нужен годный компилятор питончика под окошки.

Ответы>>668133

26 Фев, 22:10 #281 #668133

>>668126
Ассоциируй .py файлы с python.exe, че ты, как маленький? Правой кнопкой, свойства и т.д.

26 Фев, 22:16 #282 #668136

>>668071
можешь пример какой-нибудь кинуть, как этим модулем vk пользоваться?
Он не слишком стар? выглядит заброшенным на github

141 Кб, 300x300

26 Фев, 22:33 #283 #668157

>>668106

Ничего не понимаю. И это продакшен. Говно какое-то. Пидоры, блядь. Блядь, Гвидо с сообществом им дали интерпритатор на окна. Пиши, пиши свои круды в Окнах, блядь, "не хочу! хочу жрать говно!" Что такое? Это программирование? Это программирование? Суки. Мудачьё. Программисты. Dive into Python прочитали. Говно жрут. Пидоры блядь ёбаные.

Ответы>>668161

26 Фев, 22:39 #284 #668161

>>668157
что такое "круды"?

Ответы>>668167

26 Фев, 22:45 #285 #668167

>>668161
CRUD — (create, read, update, delete)

26 Фев, 23:35 #286 #668201

Есть небольшая программка на питоне из десятка файлов, разбитых по папкам. Нужно написать инсталлер к ней. Чтобы оно создавало каталог в домашнем каталоге и прописывало себя в /usr/local/bin. Чем это лучше сделать? Как упаковать все файлы приложения в один? Если архив, то останется один установочный скрипт, а значит будут два файла. Можно все в один?

Ответы>>668324

27 Фев, 00:36 #287 #668245

>>668218
это программа на лиспе?

Ответы>>668264

27 Фев, 00:57 #288 #668264

>>668245
На перле.

27 Фев, 01:20 #289 #668277

Есть небольшая программка на питоне из десятка файлов, разбитых по папкам. Нужно написать инсталлер к ней. Чтобы оно создавало каталог в домашнем каталоге и прописывало себя в /usr/local/bin. Чем это лучше сделать? Как упаковать все файлы приложения в один? Если архив, то останется один установочный скрипт, а значит будут два файла. Можно все в один?

Ответы>>668279

27 Фев, 01:25 #290 #668279

>>668277
Таришь каталог, делаешь base64 yoba.tar.gz, записываешь как строку в install.sh, на клиенте из скрипта строку разворачиваешь в тар, распаковываешь.

Ответы>>668295

27 Фев, 02:10 #291 #668295

>>668279
Спасибо! Хорошая идея.

27 Фев, 02:26 #292 #668298

Блин. Я даже не могу запрос нормально составить. Помоги анон.

В общем, в PyQt5 есть всякие layout'ы и вопрос в том как сделать так, чтобы один виджет заполнял 20% QVBoxLayout, а другой 80%?

Ответы>>668302

219 Кб, 1280x978

27 Фев, 02:32 #293 #668302

>>668298

Ответы>>668899>>668909

27 Фев, 04:06 #294 #668324

>>668201
setup.py и вся хуйня
Упакуешь потом в deb/rpm
Конфиги в домашнем каталоге должен создавать скрипт при запуске, копируя их из /usr/share

109 Кб, 687x807

27 Фев, 04:31 #295 #668327

Питноны, как мне сделать аллокатор множества пайпов в единственном темпдире?
Хочу писать много раз так:

with TempPipe() as fname

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

Сейчас примерно так всё работает:

@contextmanager
def TempPipe():
..with TemporaryDirectory() as tempd:
....pipefile = join(tempd, 'pipe')
....mkfifo(pipefile)
....yield pipefile

Оно в целом не сильно критично, но интересно может ли питно сделать такое красиво.

Ответы>>668335

27 Фев, 05:13 #296 #668333

Как же пиздато ExitStack позволяет разворачивать ёлку из with в последовательный код.

27 Фев, 05:17 #297 #668335

>>668327
> множества пайпов
А нахуя?

Ответы>>668337

27 Фев, 05:21 #298 #668337

>>668335
>А нахуя
Не обошлось без традиционного тебя. Ну вот извращенец я, люблю создать 10к пайпов по утру, прикола ради.

27 Фев, 07:19 #299 #668351

Сосоны, а ведь endswith может принять tuple. Так-то.

line.endswith(('.html', '.htm'))

Ответы>>668352

27 Фев, 07:21 #300 #668352

>>668351
Угу сам недавно узнал эту фишку.

27 Фев, 07:46 #301 #668353

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

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

Ответы>>668355>>668365>>668404>>668680

27 Фев, 07:49 #302 #668355

>>668353
А причем тут питон? Всякие облачные диски эти.

Ответы>>668356

27 Фев, 07:50 #303 #668356

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

Ответы>>668357

27 Фев, 07:52 #304 #668357

>>668356
Я сейчас yandex disk юзаю, удобен тем что можно по webdav монтировать диск, не надо специального клиента даже.
До этого был dropbox но почему-то перестал работать на мобиле, видимо у меня слишком старая версия андроид.

Ответы>>668358

27 Фев, 07:56 #305 #668358

>>668357
Если допустить, что моим говноприложением будут пользоваться за бугром - заставлять их регистрироваться на яндексе не самый лучший выход.
Чет не могу найти статистику, какой самый популярный. Это дропбокс же?

Ответы>>668360

27 Фев, 08:01 #306 #668360

>>668358
Если твоим приложением кто-то будет пользоваться мог бы хостинг купить за 90 рублей в месяц, а не заставлять пользователей где-то регистрироваться.
А так наверное дропбокс или google drive.

Ответы>>668362

27 Фев, 08:05 #307 #668362

>>668360
Пока не уверен, что взлетит. И опыта во всем этом 0. Может, под премиум на ведро и куплю отдельный хостинг.

Ответы>>668364

27 Фев, 08:08 #308 #668364

>>668362
Есть ещё беслпатные всякие штуки. Типа https://aws.amazon.com/free/ и многие хостеры дают месяц бесплатно.

27 Фев, 08:08 #309 #668365

>>668353
Разве это не цель создания дропбокса? https://www.dropbox.com/help/4

Ответы>>668367

27 Фев, 08:19 #310 #668367

>>668365
Через папку дропбокса это делать - квинтэссенция костылей. Слишком все зависит от того, есть ли на устройстве этот дропбокс и его расшаренная папка.
Нужно, грубо говоря, слать файлик куда-то, и скачивать каждый старт программы. Ничего лишнего не устанавливая.
Правда, если делать на отдельном хостинге - я пока хз, как аккуратно написать закачку\скачку файлика, + регистрацию. С имеющимися облачными дисками и API это явно дело нескольких строк, а не целого велосипеда.

Ответы>>668370>>668371

27 Фев, 08:21 #311 #668370

>>668367
С одной стороны, велосипед - с другой навык.
Да и если тот же гугл ВНЕЗАПНО прикроект свой диск - мир не перевернется.
В любом случае, шишка пока не стоит сношаться с хостингом.

27 Фев, 08:21 #312 #668371

>>668367
> как аккуратно написать закачку\скачку файлика+ регистрацию
Как как, по http. rest api можно запилить.
Или использовать готовые https://developers.google.com/drive/v2/reference/files/insert https://www.dropbox.com/developers/reference/api

Ответы>>668373

27 Фев, 08:28 #313 #668373

>>668371
Вообще говоря, на гугл я смотрю как-то с недоверием, обязательно выкинут какую-нибудь хуйню типа полностью платного доступа к API переводчика.

Ответы>>668374>>668381

27 Фев, 08:29 #314 #668374

>>668373
А где оно бесплатное? У bing`а но там ограничения всё равно конские.

Ответы>>668377

27 Фев, 08:37 #315 #668377

>>668374
У яндекса с ограничениями еще. На личное пользование и гугл мог бы и оставить с ограничениями. На эксперименты и разработку хватило бы.
Одна радость - должны навернуться все приложения в ведромаркете аля СУПИРПЕРЕВОДЧИК НА 100500 ЯЗЫКОВ ДЛЯ РАБОТЫ НУЖЕН ИНТОРНЕТ.

Ответы>>668380

27 Фев, 08:39 #316 #668380

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

27 Фев, 08:44 #317 #668381

>>668373
Лел. Так гуглодрайвом пользуется не приложение как таковое а пользователь посредством приложения. В отличие от того же переводчика.

Ответы>>668384

27 Фев, 08:54 #318 #668384

>>668381
Но ведь если каждый пользователь посредством приложения задудосит гуглодиск, анально покарают же приложение, а не пользователей. Зря API-key, что ли.

Ответы>>668388>>668394

27 Фев, 08:59 #319 #668388

>>668384
Кстати, с api-key проблема, особенно, если они платные. Как спрятать их от всяких хитрых пидорасов? Вытащить модуль же и расковырять, спиздить ключ и начать творить с ним всякое раз плюнуть же.

Ответы>>668390>>668396

27 Фев, 09:02 #320 #668390

>>668388
Кстати да.

27 Фев, 09:09 #321 #668394

>>668384
>задудосит гуглодиск
Снова лел. А причём тут собственно приложение? Если оно явно не сломалось и явно не дудосит от всех пользователей сразу, то дудосит только конкретный пользователь.

27 Фев, 09:10 #322 #668396

>>668388
Платные апикеи должны использовать твои сервера. Клиент должен общаться и с гуглом и с твоим сервером одновременно и не содержать никакой секретной информации.

Ответы>>668399

27 Фев, 09:18 #323 #668399

>>668396
Понял. Спасибо за помощь.

27 Фев, 09:22 #324 #668404

>>668353
Фтп всяких серверов для андроида более чем

27 Фев, 12:20 #325 #668493

10летстажа-бог, тебя часто говорят, что хотели бы потрогать твоего питона?

27 Фев, 12:28 #326 #668501

Смотрю сейчас видео по Haskell. Как же я был слеп. Haskell на голову выше.

Ответы>>668526>>668652

43 Кб, 1366x768

27 Фев, 12:40 #327 #668510

Что не так???
мимо-гуманитарий

Ответы>>668517>>668520

27 Фев, 12:43 #328 #668517

>>668510
Нужно преобразовывать вводимое в число. Изначально там строки. Например
a = int(input('Введите число (а)'))

Ответы>>668521

27 Фев, 12:45 #329 #668520

>>668510
Ну, то есть, '1', введенное через input - это не число (int), это строка (str).

52 Кб, 1366x768

27 Фев, 12:46 #330 #668521

>>668517
проблема-то в 4-5 строках

Ответы>>668523

27 Фев, 12:47 #331 #668523

>>668521
import math

Ответы>>668527

27 Фев, 12:49 #332 #668526

>>668501
Питон охуенен тем, что накодино на нем дохуя и слепить скрипт пришедший тебе в голову 5 минут назад можно за 20 минут гугления и 5 минут ковыряния.
Когда все эти чудо-языки смогут предоставить ту же скорость - тогда да.

Ответы>>668625

27 Фев, 12:50 #333 #668527

>>668523
я кажется сам понял, а как квадратный корень ставить?

Ответы>>668529

27 Фев, 12:51 #334 #668529

>>668527
math.sqrt(.....)

65 Кб, 1366x768

27 Фев, 12:54 #335 #668535

неполучаеццо!!!

Ответы>>668539

27 Фев, 12:55 #336 #668539

>>668535
Вводи такие abc, чтобы корень не извлекался из отрицательного числа. 1, 7, 2, например.

Ответы>>668546

64 Кб, 1366x768

27 Фев, 13:01 #337 #668546

>>668539
однако работает, а как теперь сделать, чтобы со всеми числами?

Ответы>>668554>>668668

27 Фев, 13:01 #338 #668549

через if?

27 Фев, 13:05 #339 #668554

>>668546
http://ideone.com/IDGJ5W

27 Фев, 14:06 #340 #668607

INI-файлы нормально работают на виндоусах и маках?

Ответы>>668612

27 Фев, 14:12 #341 #668612

>>668607
И если нет - какая есть ЧИТАБЕЛЬНАЯ кроссплатформенная альтернатива?
Только не предлагайте xml - это же пиздец.

Ответы>>668625

27 Фев, 14:20 #342 #668625

>>668526
Вангую что это вопрос опыта онли. И вот вы говорите что в питоне батарейки, а они там клоны клонов по сто штук и нихуя полезного и нужного.

>>668612
yaml, cson, или на самом питоне. бери yaml

Ответы>>668633>>669119

27 Фев, 14:28 #343 #668633

>>668625
>yaml, cson
Все это тегомесиво. Эти же файлики нужны, в первую очередь, чтобы тупой пользователь мог взять и поменять циферку, не ебя себе мозг копанием в этих тегах. Или удалить кусочек лишнего, и это ничего не сломало чтоб.

ini и даже text куда лучше с этой задачей справляются, ИМХО. Если же не брать ориентир на тупого и ленивого пользователя - то вообще хз, зачем сохранять настройки в xml, yaml, cson - извращение прям какое-то, pickle или shelve куда лучше же.

Ответы>>668636>>668637

27 Фев, 14:31 #344 #668636

>>668633
Ну так ты не суй туда никаких тегов. Словари, списки, строки, числа и всё.

Ответы>>668644

27 Фев, 14:32 #345 #668637

>>668633
.py же. Так некоторые фреймворки делают.

Ответы>>668644

27 Фев, 14:38 #346 #668644

>>668636
То есть, в yaml реально получить чистенький вид уровня:

fichaname : значение

?

>>668637
Главный критерий не проходит - это сохранение и запись в режиме онлайн.

Ответы>>668650>>668660

27 Фев, 14:44 #347 #668650

>>668644
И все же, скрины смотрю, в yaml секции только через древа делаются?
Хуже по читабельности, чем

[categoriya]
parametr = zx

в INI, как по мне.

Ответы>>668651>>668659

27 Фев, 14:46 #348 #668651

>>668650
+ не у всех есть подсветка, хуй отличишь имя переменной от значения, : слишком малозаметен.

Ответы>>668659

27 Фев, 14:47 #349 #668652

>>668501
>hh.ru
>python - 631
>haskell - 11

Ответы>>669070

27 Фев, 14:51 #350 #668659

>>668650
>>668651
Синдром утёнка итт. Ты что там читать собрался, содомит? Какая ещё читабельность? Секции можешь вообще комментариями разделить чтобы индента не было. Можешь индент сделать двухпробельный. Моноширинный шрифт поставь чтобы двоеточие видеть.

27 Фев, 14:51 #351 #668660

>>668644
Что еще за режим онлайн? С каких пор IO потоки зависят от расширения файла?

Ответы>>668662>>668667

27 Фев, 14:58 #352 #668662

>>668660
>режим онлайн
Наверняка рантайм

27 Фев, 15:03 #353 #668667

>>668660
Я сначала подумал, что нельзя создать через open файл с раширением py. Можно.
Этот вариант и правда получше тегопараш по читабельности.

Вот только если не установлен интерпретатор - файл с раширением py не откроется сразу в блокноте. + его засосет в exe при сборке.
А exe не открываются на линуксе c тычка.

Хз, как на все эти стулья присесть.

Ответы>>668675

29 Кб, 509x140

27 Фев, 15:04 #354 #668668

>>668546
Да ну, хули там.
http://ideone.com/3WrALs

27 Фев, 15:12 #355 #668675

>>668667
На пинуксе они открываются с тычка, только надо chmod, прав им дать. Это как расширение сменить, только линуксу похуй расширение.

>получше тегопараш по читабельности
Кря-кря. Что за теги ты там нашёл для меня всё ещё загадка.

>если не установлен интерпретатор
>файл с раширением py не откроется сразу в блокноте
Шо?
>его засосет в exe
Шо?

Ответы>>668687

27 Фев, 15:17 #356 #668680

>>668353
bitsync и пр. - твое p2p разочарование

27 Фев, 15:22 #357 #668687

>>668675
>>если не установлен интерпретатор
>>файл с раширением py не откроется сразу в блокноте

Допустим, есть windows. На нем нет питона. Как отреагирует на двойной щелчек по py?

>его засосет в exe
cx_freeze засовывает все, что указывается в import в exe. То есть, теряется возможность файл редактировать ручками. Разве что создавать файл настроек уже после первого запуска.

Ответы>>668691>>668693

27 Фев, 15:24 #358 #668691

>>668687
Может, обмажешься json и перестанешь изобретать велосипеды?

Ответы>>668713

27 Фев, 15:24 #359 #668693

>>668687
Не отреагирует конечно. И на линуксе если нет питона всё так же.

Короче я примерно понял что тебе надо. importlib смотри. Если не взлетит, то совсем крайний случай eval.

Ответы>>668708

27 Фев, 15:31 #360 #668707

Посоны, вот я во фласке перед запуском аппа делаю with app.app_context(): чтобы вклинить в flask.g клиент БД. Только оно меня к хуям посылает потом '_AppCtxGlobals' object has no attribute

Как побороть?

27 Фев, 15:31 #361 #668708

>>668693
>eval('os.system('rm -rf /')
Отличный способ выстрелить себе в ногу и не только.

Ответы>>668711

27 Фев, 15:33 #362 #668711

>>668708
Как будто импортирование чем-то отличается. Можешь хоть в конфиг джанги вписать rm rf.

27 Фев, 15:35 #363 #668713

>>668691
>json
Не открыть через двойной щелчок же.

Ответы>>668717>>668719

27 Фев, 15:37 #364 #668717

>>668713
Я тебе могу так в твоей винде сделать, что у тебя даже .txt не откроется. Все эти связи можно менять что и чем открывать.

Ответы>>668729

27 Фев, 15:38 #365 #668719

>>668713
А сохранять json в txt религия не позволяет? json.load все равно, какое расширение у файла, лишь бы там понятный парсеру текст был.

27 Фев, 15:44 #366 #668729

>>668717
Типичная домохозяйка боится дальше рабочего стола зайти, кто менять-то будет? Не буду же я ради этого срать в систему своими ключами реестра.

Ответы>>668736

27 Фев, 15:50 #367 #668736

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

Ответы>>668742

27 Фев, 15:55 #368 #668742

>>668736
Конечно, у меня даже есть парочка в зоне видимости.
Про то, что им не понадобится лезть в конфиги - валидный аргумент, конечно.
И все же, если INI такое устаревшее и ненужное говно, почему его используют все игры, например?

Ответы>>668755>>668761

27 Фев, 16:08 #369 #668755

>>668742
Бля, да ты даун что ли? Если ты волнуешься за пользователей, то сделай gui настройку.

27 Фев, 16:10 #370 #668760

Анон, нужна помощь. Начинаю изучать сей чудесный язык, но на условной инструкции залип. Есть задание: вывести элементы списка с четным индексом. Знаю, что можно решить через range(0,len[Array],2), но как сделать через иф? if i//2==0 выводит хуйню какую- то.

Ответы>>668774>>668777

27 Фев, 16:10 #371 #668761

>>668742
INI имеют легко достижимый потолок. Это dict по сути, строка->строка. Ну ладно, секции, но это всё.

С ямлом тебе например не придётся кастовать каждый чих в int/float/bool. И вложенности любые, и списки, и всё что душе угодно. Я тебе уже говорил что его можно как ини держать

key: value
key: value
key: value
key: value

Будет та же хуйня.

Хуй знает почему какие-то там игры используют ини. Бля, я наверное раз или два в жизни правил конфиги играм. И чессказать мне похуй был формат, просто по аналогии заполняешь и всё. Надо ини - бери ини, хуле ты до нас-то доебался? Спросил конфиги как делать чтобы современно и не xml, тебе подсказали, всё. Нахуй ты тут доказываешь что ини это заебись?

Ответы>>668785>>668788

27 Фев, 16:15 #372 #668774

>>668760
Берёшь ipython и вводишь
1//2
2//2
3//2
4//2
5//2
Сразу всё поймёшь.

Ответы>>668782

27 Фев, 16:17 #373 #668777

>>668760
[v for i, v in enumerate([2, 3, 5, 7, 9, 11]) if i % 2]

27 Фев, 16:20 #374 #668782

>>668774
блять, я идиот. Спасибо

27 Фев, 16:21 #375 #668785

>>668761
Я не доказываю. Просто мысли вслух.

27 Фев, 16:23 #376 #668788

>>668761
Пожалуй, ты меня убедил с yaml и txt.

27 Фев, 18:20 #377 #668899

>>668302
Спасибо, сейчас попробую.

15 Кб, 1440x864

27 Фев, 18:37 #378 #668909

>>668302
Спасибо, бро. Ты и документация мне помогли.

Ответы>>669537

27 Фев, 19:00 #379 #668934

У меня в приложении при запуске генерится куча файлов с расширением .pyc и каталоги _pycache_. Это норма? Так и должно быть? Нормально их держать в репозитории?

Ответы>>668936>>668937

27 Фев, 19:01 #380 #668936

>>668934
Норма, но в репозитории держать не стоит. Добавь это говно в .gitignore

27 Фев, 19:01 #381 #668937

>>668934
Нормально, но держать в репозитории их не надо. Гугли gitignore. На гитхабе есть файлы для питона уже созданные.

27 Фев, 20:37 #382 #669064

Читаб из файла данные через open('file.png', 'rb').read(). Затем перекодирую в строку через base64.encodestring, но на выходе тип данных - всё равно байты. Пробовал и через base64.b64_encode, всё равно тип результата - байты, а не строка. Где ошибка? Третий питон.

Ответы>>669085

240 Кб, 512x343

27 Фев, 20:42 #383 #669070

>>668652

Меньше конкурентов!

Ответы>>669078

27 Фев, 20:47 #384 #669078

>>669070
>hh.ru
>python 9893 resumes, 631 vacancies, 15.7 per vacancy
>haskell 304 resumes, 11 vacancies, 27.6 per vacancy

27 Фев, 20:54 #385 #669085

>>669064
Код покажи.

Ответы>>669117

27 Фев, 21:21 #386 #669117

>>669085
file = open('file.png', 'rb').read()
text = base64.encodestring(file)
print(type(text))

Возвращает byte

Ответы>>669312>>669326>>669327

27 Фев, 21:23 #387 #669119

>>668625
Ну давай мне кабанчиком нотепад экзе на чистых плюсах профессионала накатать уговори

28 Фев, 00:24 #388 #669309

Как обновиться до python3 на OS X?
Нет разницы между скачиванием .pkg с сайта питона или обновлением через homebrew?

28 Фев, 00:26 #389 #669312

>>669117
Так в документации и написано, что возвращает bytes, не?
Encode the bytes-like object s, which can contain arbitrary binary data, and return bytes

28 Фев, 00:38 #390 #669326

>>669117
В общем, делай bytes.decode(text) и всё должно получиться.

28 Фев, 00:39 #391 #669327

>>669117
base64.b64encode

22 Кб, 1440x864

13 Кб, 1440x864

10 Кб, 1440x864

28 Фев, 01:45 #392 #669375

Опять выхожу на связь.

Как в PyQt в QGridLayout сделать так, чтобы виджеты располагались слево направо, без всяких растяжений на всю область, независимо от количества виджетов?
Чтобы в моем случае все было по ширине как на первом пике.

Ответы>>669397

28 Фев, 01:47 #393 #669379

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

Ответы>>669380

28 Фев, 01:48 #394 #669380

>>669379
Ну взгляни на джанго flatpages.

28 Фев, 02:40 #395 #669397

>>669375
Плохой вопрос. В гриде ты сам задаёшь размерность и веса по горизонтали и вертикали. Что ты имеешь ввиду?

Ответы>>669406

21 Кб, 1440x864

14 Кб, 1440x864

28 Фев, 03:10 #396 #669406

>>669397
Я уже отказался от грида.

Опишу ситуацию.

В приложении есть несколько вкладок. На каждой - просто таблица, состоящая из QLabel + QLineEdit. Но на разных вкладках их разное количество. Хочу сделать так, чтобы они все ровно выглядели.

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

Ответы>>669419>>669430>>669592

28 Фев, 03:30 #397 #669419

>>669406
Может лучше сделать таблицей? QLineEdit будет вылезать по дабл клику. Так проще с точки зрения программирования и проще пользователю (легче искать).

Ответы>>669425

28 Фев, 03:48 #398 #669425

>>669419
Ну не, лишние клики ни к чему. Тем более не совсем представляю как это. Можешь привести пример из других программ?

Ответы>>669655

28 Фев, 04:20 #399 #669430

>>669406

Такие вещи во много раз проще (и дешевле) делать на HTML и CSS.

Ответы>>669580

28 Фев, 04:21 #400 #669431

Пишу установщик. Нужно при установке приложения создать директорию в домашнем каталоге и ссылку в /usr/local/bin. Проблема в том, что для записи в /usr/local/bin нужен рут, но при sudo домашний каталог определяется как /root, а не /home/name. Как это обойти? Можно ли узнать домашний каталог юзера из под sudo или записать файл в /usr/local/bin без рута?

Ответы>>669441

28 Фев, 04:45 #401 #669441

>>669431
Решил! os.environ["SUDO_USER"] возвращает имя пользователя.

Ответы>>669461

28 Фев, 05:26 #402 #669461

>>669441
>директорию в домашнем каталоге и ссылку в /usr/local/bin

Тебе оно точно нужно глобально, чтобы все юзеры могли пользоваться? Можно жи PATH юзеру дописать, прямо в его bash_profile, и никаких судо не требовать.

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

28 Фев, 08:51 #403 #669536

Как обновиться до python3 на OS X?
Нет разницы между скачиванием .pkg с сайта питона или обновлением через homebrew?

Ответы>>669543

28 Фев, 08:53 #404 #669537

>>668909

28 Фев, 09:09 #405 #669543

>>669536
обновиться помоему нельзя, иначе соснешь.
Можно поставить его паралельно

Ответы>>669556

28 Фев, 09:41 #406 #669556

>>669543
> паралельно
А какие камни подводные?

Ответы>>669959

28 Фев, 10:47 #407 #669580

>>669430
Программа для врачей, не у всех есть интернет. Если бы я был is адептом, то конечно сделал бы все на ноджс. Но я питонист, поэтому вот

28 Фев, 11:01 #408 #669592

>>669406
true flat designe

Ответы>>669604

28 Фев, 11:25 #409 #669604

>>669592
К чему ты это?

28 Фев, 12:45 #410 #669655

>>669425
Как в excel. Или делай пустые виджеты.

28 Фев, 13:19 #411 #669677

Нужно организовать контроль некоторых процессов в виндовсе. Точнее перехват данных которые проскакивают в этих процессах. С помощью каких модулей это можно организовать на питоне?

Ответы>>669707>>669710

28 Фев, 14:00 #412 #669707

>>669677
Ну же хакерюги, подскажите.

28 Фев, 14:02 #413 #669710

>>669677
win api, другого нихуя и быть не может, как я понимаю

Ответы>>670035

28 Фев, 14:45 #414 #669742

Анон, объясни что такое свойство класса и зачем оно нужно? Я про @property

Ответы>>669747>>669752>>669764>>669765

28 Фев, 14:58 #415 #669747

>>669742
Чтобы заманить джавистов

28 Фев, 14:59 #416 #669752

>>669742
@ - это декоратор

28 Фев, 15:13 #417 #669764

>>669742
Про себя я называю свойства "умными атрибутами". Суть в том что при обращении к объекту, проперть выглядит просто как переменная. Можно даже настроить так что ей можно будет выполнять присваивание. Внутри же у тебя там какой-то код. Например ты создал объект который принял число обозначающее количество секунд. Объект можно наделить свойством weeks, days чтобы при обращении к ним возвращалось это количество секунд, переведенное в соответствующие единицы.

Ответы>>669960

28 Фев, 15:14 #418 #669765

>>669742
Скорее всего какая-то хуёвина для псевдоограничения доступа к атрибутам объекта. Мол, объявляешь сеттеры, геттеры в одном месте, а затем только ими и пользуешься. Хуй знает зачем.

28 Фев, 15:21 #419 #669770

>>665294 (OP)
Чет поискал работку на апворке по скрапингу
там такая хуйня вида
>перебашить весь гуглпоиск
собрать все названия кампаний на такую-то тематику
каждый сайт каждой кампании переебашить на получение контактов и прочей хуйни
все это захуярить в эксель и за это ты получишь 50 бачей

Что за хуйня? сложнаа сложнааа блять

Ответы>>669793>>669799>>669964

28 Фев, 15:43 #420 #669793

>>669770
> Работать не хочу
> Денег хочу

Ответы>>669796

28 Фев, 15:47 #421 #669796

>>669793
пошел нахуй

Ответы>>669862

28 Фев, 15:48 #422 #669799

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

Ответы>>669806

28 Фев, 15:50 #423 #669806

>>669799
Это же все сложна для 50 баксов. Лал

Ответы>>669845

28 Фев, 16:18 #424 #669845

>>669806
Да иди пивасик дуй с пацанами, чо ты как лох в мониторы пялишься, чухан блять.

Ответы>>669850>>669859

28 Фев, 16:20 #425 #669850

>>669845
Я так и знал, что питон учат только школьники и в треде этом сидят такие же.

Ответы>>669857>>669863>>669971

28 Фев, 16:22 #426 #669857

>>669850
Ну не тралируй плис.

28 Фев, 16:23 #427 #669859

>>669845
Пояснить не можешь и пытаешься съехать на сарказме.
Впрочем, чего еще ожидать от питонщиков на дваче.

28 Фев, 16:24 #428 #669862

>>669796
Какое совпадение. Я буквально вчера твоей мамке точно так же говорил.

Ответы>>669863

28 Фев, 16:26 #429 #669863

>>669862
Еще одно доказательство вот этого >>669850

Ответы>>669867

28 Фев, 16:27 #430 #669867

>>669863
Еще раз напиши.

28 Фев, 17:15 #431 #669953

Анон - помогай: как выполнить ddl в СУБД?

28 Фев, 17:29 #432 #669959

>>669556
>А какие камни подводные?
У меня не было никаких.
Но я нуб и хуйло, задачи и приемы у меня были соответсвующие

28 Фев, 17:31 #433 #669960

>>669764
А чем этот пример отличается просто от метода?

Ответы>>669965

28 Фев, 17:36 #434 #669964

>>669770
Мне кажется это либо достаточно тривиально, если можно просто собирать разную хуйню "похожую" на контакты, ну там емайлы/телефоны в изрядном отрыве от контекста. Но тогда выход будет изрядно бессмысленный.
Либо нужно писать какойто блять скайнет и нести отсвественность перед человечеством.

28 Фев, 17:37 #435 #669965

>>669960
тем что не надо писать скобочки

28 Фев, 17:46 #436 #669971

>>669850
Об этом прямо написано в шапке. Ты удивлен?

Ответы>>669977

28 Фев, 17:55 #437 #669977

>>669971
Честно? Да, удивлен. Я не читал шапок тредов и ориентировался только на картинки.

Ответы>>670046

28 Фев, 18:04 #438 #669999

Анон, можно ли релизовать примитивный п2п чатик в консоли без threading'ов?
Не могу понять как все это устроить.

Ответы>>670003>>670004

28 Фев, 18:06 #439 #670003

>>669999
asyncio

28 Фев, 18:06 #440 #670004

>>669999
asyncio

Ответы>>670007

144 Кб, 353x326

28 Фев, 18:07 #441 #670007

>>670004

Ответы>>670028

28 Фев, 18:25 #442 #670028

>>670007
классная картинка

28 Фев, 18:29 #443 #670034

Я не понел, pyqt бесплатный или нет? Точнее, что такое в "платной" версии?

Ответы>>670037>>670186

28 Фев, 18:31 #444 #670035

>>669710
Мне нужен однозначный и четкий ответ.!

28 Фев, 18:37 #445 #670037

>>670034
Это россия, чувак. Здесь Pyqt бесплатный.

Ответы>>670102

28 Фев, 18:44 #446 #670046

>>669977
На второй картинке изображен школьник, учащий питон, а на первой - домохозяйка.

Ответы>>670051

28 Фев, 18:45 #447 #670048

Поясните за asyncio. Это просто асинхронность для всего или специализированный веб фреймворк типа джанго?

Ответы>>670100

28 Фев, 18:47 #448 #670051

>>670046
В прошлых тредах такого не было.
Там была змея в очках на белом фоне с книгой дайв ин пайтон или тип того.
Ну змею точно помню.

28 Фев, 18:59 #449 #670087

Двач!
Что эта за хуйня http://pastebin.com/raw/mYHpS1hE ,
Какой-то пидр залогинился на мой сервер и запустил эту поеботу.
Памаги

Ответы>>670108

28 Фев, 19:04 #450 #670100

>>670048
Первое.

28 Фев, 19:06 #451 #670102

>>670037
Nais)

28 Фев, 19:07 #452 #670108

>>670087
Поздравляю, у вас ANSI-C и дудос кого-то с твоего сервака.

Ответы>>670112>>670444

28 Фев, 19:09 #453 #670112

>>670108
А твой ип, я полагаю, 190.93.251.50

Ответы>>670444

28 Фев, 19:55 #454 #670186

>>670034
Бесплатный пока не собираешься продавать свое говноподели

Ответы>>670212

28 Фев, 20:16 #455 #670212

>>670186
Ну и отличненько, мне просто на диплом

28 Фев, 20:17 #456 #670214

Здарова котаны. Во время практики я спросил препода.
-Стоит ли учить питон после дэльфи?
-Вам до питона как раку до китая. Этот язык слишком гениален. Т.к. он включает овердохуя всего.
-А тогда почему его так рекомендуют в интернетах?
-Тут уже решает маркетинг от гугла. И вообще начинайте с языков си
Стоит ли слушать своего препода и идти учить языки си или ослушаться и пойти учить питон?

Ответы>>670221>>670229>>670289>>670353

377 Кб, 1024x683

28 Фев, 20:21 #457 #670221

>>670214
>питон
>маркетинг от гугла

Ответы>>670225

28 Фев, 20:25 #458 #670225

>>670221
Выеби препода в сракотан и скажи, что это маркетинг от двача.

28 Фев, 20:30 #459 #670229

>>670214
Выучить питон с нуля до нубоуровня реально за 1 месяц
Выучить плюсы с нуля до нубоуровня реально за 2 месяца
Неужели ты так охуительно занятой студент, что не можешь потратить меньше 3 месяцев что бы осилить оба языка и самостоятельно сделать выбор?
Питон - для велосипедистов которым похуй как оно чё крутится там внутри абы крутилось. Нет, конечно пропаганда и пеп8 учат другому но судя по коду всем похуй.
Плюсы - для задротов любящих понимать чё происходит и как именно оно происходит
И то, и другое хорошо для своих задач. Задачи эти, как правило, совершенно разные.

28 Фев, 20:55 #460 #670252

ПЕРЕКОТ https://2ch.hk/pr/res/670244.html (М)
ПЕРЕКОТ https://2ch.hk/pr/res/670244.html (М)
ПЕРЕКОТ https://2ch.hk/pr/res/670244.html (М)
ПЕРЕКОТ https://2ch.hk/pr/res/670244.html (М)
ПЕРЕКОТ https://2ch.hk/pr/res/670244.html (М)
ПЕРЕКОТ https://2ch.hk/pr/res/670244.html (М)
ПЕРЕКОТ https://2ch.hk/pr/res/670244.html (М)

Ответы>>670253

28 Фев, 20:56 #461 #670253

>>670252
Блять не туда, соре

28 Фев, 20:57 #462 #670257

Кто-нибудь вообще пробовал собрать pygraphviz под винду и 3-й питон? Он вообще у кого-нибуд из вас когда-нибудь работал? Пиздеееееееец какой-то. Я охуеваю в конец.

Попробовал установить как обычно, через pip. Не может собрать, ибо не находит файл "cgraph.h".
Ладно, гугление привело к тому, что мне ещё и обычный graphviz нужно ставить. Как отдельное приложение, блядь. С замусориванием диска всякой хуйнёй. Просто потому, что эти блядь идиоты не додумались, блядь, что можно, блядь, засунуть все исходники в папочку с дистрибутивом пакета. Ненавижу, блядь.
Ладно, скрепя сердце я поставил этот ненужный мусор на свой ЖД(буду я ещё место на ССД под какую-то хуету отдавать, ага, щас, он у меня для хороших библиотек). Поставил флаги компиляции пакета, чтобы учитывал папки из этой мусоробиблиотеки. И конечно, блядь. Undefined reference при сборке, бляль. PyIO_BaseType не находит, блядь.
Погуглил, народ нихуя не знает, что с этим делать. Не знает, что это за зверь. Пиздец какой-то, блядь. Просмотрел исходник, этот PyIO_BaseType используется только в паре функций для проверки на ошибку. Закомментил эти строки нахуй. Собралось.
Подключаю либу - DLL Not Found. Охуеть просто, приехали. Прописал в PATH путь к этому убогому мусору по имени GraphViz. Вроде прошло.
Попытался нарисовать граф - а вот хуй мне! В либе ещё и ошибка и нужная функция не работает по причине вроде "No Key". Хуй знает, я уже не помню.

Вот серьёзно, блядь, хоть где-нибудь в мире питона ещё есть подобное убожество?

Ответы>>670295>>671200

28 Фев, 21:19 #463 #670289

>>670214
Какой курс?

28 Фев, 21:21 #464 #670295

>>670257
Можешь попробовать прекомпиленый пакет поставить. http://www.lfd.uci.edu/~gohlke/pythonlibs/#pygraphviz
Я так впаивал склконнект, для 3.5, который становиться не хотел.

Ответы>>670387

28 Фев, 22:09 #465 #670353

>>670214
Питон лишним не будет, даже для разработки на C++.
Наебашить каких-нибудь тестов побыстрому. Собрать базу для тех же тестов. Проанализировать данные. Не всегда есть свой ручной DevOps, знаешь ли.

28 Фев, 22:27 #466 #670387

>>670295
Спасибо, попробую. А вообще, какие альтернативы есть для pygraphviz? Пробовал networkx, но он не умеет рисовать петли. А петли мне критически важны.

Ответы>>670439

28 Фев, 22:49 #467 #670439

>>670387
mathplotlib не оно?

Ответы>>670459

28 Фев, 22:50 #468 #670444

>>670108
Да пиздец, постоянно приходят хостеру жалобы на Ддос-атаки с наши серверов.
Как быть в данной ситуации?

>>670112
Нет. Может, это то хуйло, которое ддосит?

Ответы>>670985>>670991

28 Фев, 22:58 #469 #670459

>>670439
Matplotlib же не умеет графы рисовать автоматически.

Боги парса 29 Фев, 09:44 #470 #670862

Парсю один пдф с расписанием уроков. Как и положенно при парсе пдф все получается не очень гладко.

Основная проблема в том, что полей получается переменное количество а разбития на строки нет. Хотя структура есть и ее таки можно будут вычленить регулярным выражением.
Вопрос как в это выражение передавать куски этой строки.
Настоящий пример строки в https://dpaste.de/CZYu но упрощенно:
aaXabXabcX, где X это некий маркер конца строки(но понять что он конец строки можно будет только в регулярном выражении). В реальном примере это поле "Instructor" + переменное количество имен, затем начинается новая строка.
Если я правильно понимаю то regex если ему дать всю строку вычленит только первый случай и забъет дальше хуй.

Ответы>>671804

29 Фев, 10:07 #471 #670878

Пилять. Это норма в Qt, что кнопка, будучи нажатой, посылает сигнал released(), одновременно с pressed()? Или это заебы PyQt? Разве этот сигнал не должен посылаться, только когда кнопка отжимается?

Ответы>>670880>>670881>>670897>>671062

29 Фев, 10:08 #472 #670880

>>670878
Посылается причем, когда отжимается кнопка мышки после клика по кнопке.

29 Фев, 10:09 #473 #670881

>>670878
Ах да, button.setCheckable(True) стоит. По идее сигнал и должен слаться без этой строчки, потому что кнопка сразу отжимается. Но здесь она остается нажатой.

29 Фев, 10:42 #474 #670897

>>670878
Таки норма.

29 Фев, 13:45 #475 #670985

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

Ответы>>671191

29 Фев, 13:51 #476 #670991

>>670444
Алсо, ради интереса можешь поискать на сервере файл a.out, это если он не переименовывал его в компиляторе, или не ебу какой, если переименовал.

Ответы>>671191

13 Кб, 534x454

29 Фев, 13:54 #477 #670994

Kek

Ответы>>671009

29 Фев, 14:19 #478 #671009

>>670994
CloudFlare ДУДОСИТ САЙТЫ А ПОТОМ ПРОДАЁТ ЗАЩИТУ ОТ ДУДОСА! ЗАГОВОР!

Ответы>>671091

29 Фев, 15:05 #479 #671062

>>670878
Ты заебал. Прочти уже документацию.

29 Фев, 15:08 #480 #671070

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

Ответы>>671785

29 Фев, 15:23 #481 #671091

>>671009
Ну тащемта клоудфлару дудосили.

Ответы>>671121

29 Фев, 15:25 #482 #671093

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

Ответы>>671168

92 Кб, 984x927

197 Кб, 1144x451

Не могу осилить celery 29 Фев, 15:37 #483 #671105

Celery(c redis в качестве брокера) периодически "отваливается" и перестает выполнять задачи, т.е. они добавляются в очередь которая постоянно растет, но воркер не выпоняет их, помогает только перезапуск celeryd, что с этим делать?

Ответы>>671168>>672011

29 Фев, 15:55 #484 #671121

>>671091
САМИ СЕБЯ ДЛЯ ОТВОДА ГЛАЗ!
c: truth

29 Фев, 16:02 #485 #671132

>>667289
Не понял. По-моему фишка в том, что __name__ объявлен при запуске скрипта по дефолту.

29 Фев, 16:18 #486 #671168

>>671093
Какие хеши, норкоман? Джанга использует оригинальное имя, затем только дописывает к нему рандомы если такой файл уже есть.

>>671105
Проблема либо в селери (что маловероятно), либо в твоём коде воркера (что очень вероятно), либо в редисе (что маловероятно), либо в конфигах всего вышеперечисленного (что очень вероятно).

Ответы>>671183

29 Фев, 16:32 #487 #671183

>>671168
Перефразирую - на текущем проекте джанга настроена так что принудительно хеширует имена файлов перед их сохранением.

Ответы>>671184

29 Фев, 16:34 #488 #671184

>>671183
Ну допустим. Раздаёшь ты их всё равно через проксю. То есть тебе нужно где-то сохранить маппинг хеш-имяфайла и как-то заставить проксю это съесть. Насколько помню имя файла при скачивании задаётся хедером.

Ответы>>671196

29 Фев, 16:43 #489 #671191

>>670985
>>670991
Поздно, блять. Хостер заблокировал

Как превентировать такое? Пароль на сервере вроде не был "123querty"? Хотя рута не отключал.
fail2ban и SSH-keys без пароля для рута помогут ?

Ответы>>671197

29 Фев, 16:49 #490 #671196

>>671184
Хорошо, но мне все равно интересно как это решается по-нормальному.
"По-плохому" я это решил так: в проекте файл хранится в виде отдельной модели (это уже так и было) в которую записывается в т.ч. и оригинальное имя. Соответственно я просто создаю вьюху которая получает запрос с айдишником нужного файла и отдает его.

Ответы>>671268

29 Фев, 16:50 #491 #671197

>>671191
Ты уверен что пароль брутфорсом подобрали? У тебя там наверное древний штабильный дебиан ещё крутился.

Был у меня такой случай, правда сервант я принял уже с кучей говна, вина не моя. Оказалось что там был оче старый ПЭХЭПЭМАЙАДМИН и в инете любой шкальник мог нагуглить длинный список уязвимостей. Укосил нахуй это говно, сменил все пароли, проверил файлы, и как рукой сняло.

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

Ответы>>671224>>671247

29 Фев, 16:56 #492 #671200

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

29 Фев, 17:25 #493 #671212

Аноним, я не понимаю первую же задачку по питону:
import os
import time

# 1. Файлы и каталоги, которые необходимо скопировать, собираются в список.
source = ['"C:\\My Documents"', 'C:\\Code']
# Заметьте, что для имён, содержащих пробелы, необходимо использовать
# двойные кавычки внутри строки.

# 2. Резервные копии должны храниться в основном каталоге резерва.
target_dir = 'E:\\Backup' # Подставьте тот путь, который вы будете использовать.

# 3. Файлы помещаются в zip-архив.
# 4. Именем для zip-архива служит текущая дата и время.
target = target_dir + os.sep + time.strftime('%Y%m%d%H%M%S') + '.zip'

# 5. Используем команду "zip" для помещения файлов в zip-архив
zip_command = "zip -qr {0} {1}".format(target, ' '.join(source))

# Запускаем создание резервной копии
if os.system(zip_command) == 0:
print('Резервная копия успешно создана в', target)
else:
print('Создание резервной копии НЕ УДАЛОСЬ')
Что за команды здесь появились, типа import, target_dir ?
Почему эта задачка у меня не работает в PyCharm'e ?

Ответы>>671250>>671258>>671581

64 Кб, 1417x365

29 Фев, 17:36 #494 #671224

>>671197
> Ты уверен что пароль брутфорсом подобрали?
Нет.

> У тебя там наверное древний штабильный дебиан ещё крутился.
Да.

Мне ещё повезло что я заметил это. Он видимо забыл потереть историю. Сука, блядь!

Ответы>>671979

29 Фев, 18:04 #495 #671247

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

29 Фев, 18:06 #496 #671250

>>671212
Это че троленк такой?

Ответы>>671253

29 Фев, 18:08 #497 #671253

>>671250
Нет

29 Фев, 18:11 #498 #671258

>>671212
Открываешь учебник по питону любой
Хуяришь по нему пока не поймёшь
.....
Молодец

Ответы>>671259

29 Фев, 18:12 #499 #671259

>>671258
Но эта задачка и так по учебнику же

Ответы>>671262

29 Фев, 18:14 #500 #671262

>>671259
Кодекадеми, Доусон, Лутц, Укус Питона, Синк пайтон - начни с этих, не выёбывайся

Ответы>>671267

29 Фев, 18:19 #501 #671267

>>671262
>Укус Питона
Зис.

29 Фев, 18:19 #502 #671268

>>671196
Ну я ж тебе и написал как по-нормальному. Редис себе заведи с персистентностью, к нжиниксу прикрути модуль https://github.com/openresty/redis2-nginx-module#redis2_query - наверное что-то такое

fname = redis2_query get filehash; - так оно не заработает, инфа 100, но идея надеюсь ясна
add_header Content-Disposition 'attachment; filename="$fname"';

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

И такое решение кстати даже круче чем дефолт джанги, так как позволяет повторение имён файлов.

29 Фев, 21:07 #503 #671549

Подскажите ньюфагу, что можно написать на Питоне.
Хочу видеть перед собой результат, который можно пощупать.
Заебали уже эти фибоначи и прочая абстрактная еботня.
В голову ничего не лезет, т.к. сижу болею.
Может есть какая-то книжка, с интересными проджектами-задачками для ньюфагов, ну или читщит какой-то?

Спасибо.

Ответы>>671580>>671582

29 Фев, 21:22 #504 #671580

>>671549
Think Python
http://newcoder.io/tutorials/
https://automatetheboringstuff.com/

29 Фев, 21:22 #505 #671581

>>671212
Бамп же

Ответы>>671631

29 Фев, 21:22 #506 #671582

>>671549
Многопоточный скачиватель вебмок со всего двача.

Ответы>>671597

29 Фев, 21:33 #507 #671597

>>671582
Кстати который день собираюсь запилить

Ответы>>671611>>671991

29 Фев, 21:38 #508 #671611

>>671597
Где же ты раньше был? Пилил бы вместе с аноном.

29 Фев, 21:50 #509 #671631

>>671581
http://ideone.com/GkO8Kq

Ответы>>671635

29 Фев, 21:51 #510 #671635

>>671631
В учебнике была не полная задача ?
Я всё равно вижу не понятные мне команды

Ответы>>671651>>671657

29 Фев, 21:57 #511 #671644

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

Ответы>>671649>>671652>>671657

29 Фев, 21:59 #512 #671649

>>671644
Кодекадеми -> укус питона

Читайте тред, заебали

29 Фев, 22:00 #513 #671651

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

29 Фев, 22:00 #514 #671652

>>671644
http://learnpythonthehardway.org/book/

Ответы>>671659

29 Фев, 22:01 #515 #671657

>>671644
To FAQ.
>>671635
Жопой читаешь. Про import в главе про модули написано. Дальше в гугл или в Лутца залезь.

29 Фев, 22:02 #516 #671659

>>671652
Ни в коем случае не шкварься об это говно
Высер уровня Карнеги и всяких коучеров нлп только с пионом но без объяснений толком только кудкудахи ВОТ Я ТАК ДЕЛАЮ И ТЫ ДЕЛАЙ

Ответы>>671672

29 Фев, 22:09 #517 #671672

>>671659
Но Карнеги же более-менее толковые вещи писал. Про отношение к людям, про нужность эмпатии, "пытаясь достать мёд не опрокинь весь улей".

Ответы>>671679

29 Фев, 22:12 #518 #671679

>>671672
Ну заебись, а тут такого не будет. Только кудкудахи обиженки-автора.

Ответы>>671682

29 Фев, 22:14 #519 #671682

>>671679
А что там не так в этой хардвее? Запросили же, посложнее и побыстрее, значит подразумевается что разжёвывать и класть в рот пациенту не надо.

7 Кб, 1649x119

29 Фев, 22:21 #520 #671690

Опять выхожу на связь.
Как в pyqt5 просто добавить возможность скролла к QHBoxLayout? И самое главное, чтобы это скролл никак себя кроме скролле не проявлял. А то я добавляю QScrollArea и полуаются какие-то гигантские отступы повсюду, невозможно работать!

Ответы>>671694>>671732>>671893

29 Фев, 22:24 #521 #671694

>>671690
Подозреваю что твой горизонтальный бокс ужимается до ширины окна, а когда ты добавляешь туда скролл, он растягивается до нормальной ширины по контенту. Скорее всего NIQAQUE это нормально не решить без редизайна UI.

Ответы>>671722

34 Кб, 400x300

29 Фев, 22:44 #522 #671722

>>671694
Окей, будем искать. Спасибо!

29 Фев, 22:50 #523 #671729

>>666919
Можешь ещё черзе sys.path.append("Folder/")

29 Фев, 22:51 #524 #671732

>>671690
подергай всякие size policy там

29 Фев, 23:03 #525 #671749

Хелп ми плиаз. Прошел начальный курс по питону от MIT хз что теперь дальше изучать (сижу на код академи от этого профит есть?). Вот нашел сборник книг, курсов но какой выбрать? http://tproger.ru/articles/free-programming-books/#python

Ответы>>671818

29 Фев, 23:54 #526 #671785

>>671070
Алё, блять.

Ответы>>672011

01 Мар, 00:11 #527 #671804

>>670862
ПДФ то еще говно для парсинга если он изначально криво сформирован. С ним лучше через OCR работать.

Ответы>>671841

01 Мар, 00:20 #528 #671818

>>671749
Я тоже нихуя не понимаю, прочитал книги типа доусона, дайв инту питон и т.д. А что дальше делать то?

01 Мар, 00:41 #529 #671841

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

01 Мар, 00:45 #530 #671845

Интересно, есть еще люди в мире, котрые в данный отрезок времени пишут десктопное приложение на питоне? А именно на PyQt? А именно на PyQt5?

Ответы>>671892

01 Мар, 01:09 #531 #671877

Подскажите неучу что за библиотека operator, что она делает?

sorted_x = sorted(dict_name.items(), key=operator.itemgetter(1))
print(sorted_x)

Вот здесь допустим.

Ответы>>671889

01 Мар, 01:19 #532 #671889

>>671877
https://docs.python.org/2/library/operator.html

01 Мар, 01:21 #533 #671892

>>671845
Делал несколько фриланс заказов на python3 + PyQt5 (один даже с quamash + asyncio). Сегодня, кстати, фичи добавлял по просьбе заказчика.

01 Мар, 01:21 #534 #671893

>>671690
Не совсем понял что ты хочешь, но если уж сильно что-то экзотическое, то лучше делать на qml.

01 Мар, 01:31 #535 #671903

ПЕРЕКАТ
https://2ch.hk/pr/res/671902.html#671902 (М)
https://2ch.hk/pr/res/671902.html#671902 (М)

01 Мар, 04:53 #536 #671979

>>671224
>memes.txt

01 Мар, 06:42 #537 #671991

>>671597
https://github.com/ValdikSS/endless-sosuch

01 Мар, 08:26 #538 #672011

>>671785
Ну тред-то читай хотя бы -> >>671105

18 Кб, 630x630

05 Мар, 14:43 #539 #677139

>>665294 (OP)
Есть сайт с которого мне нужно скачать страницы в виде хтмл, но они весят много
У сайта есть мобильная версия, но только в виде приложений на ios/android. Как можно залезть туда и начать скачивать оттуда?
Советуют указать мобильного клиента в хедере, но я не знаю что это такое и как это делать
Посоветуете что-то?

773 Кб, 977x602

08 Мар, 09:53 #540 #680088

Привет всем, скачал ваш путхон, но чета когда запустил произошел пикрилейтед казус (у меня 32-битный проц, качал для него естессна). Если что, я полный дебил в ваших компутерах (примерно на уровне вашей мамы).

Ответы>>680468

08 Мар, 10:26 #541 #680113

Сосоны. Я не могу в путон совсем. Я на перле обычно пишу, но там нет модулей для работы с PE. http://pastebin.com/u4RpJdhV ЧЯДНТ?

08 Мар, 16:57 #542 #680468

>>680088
Скотина тупорылая, там же написано, что тебе нужен минимум сервис пак 1 и другие какие-то апдейты, которые питухон использует. Обнови систему, поставь апдейты доступные, а потом уже ставь питухон. Есть ссылка на лог файл, попробуй кликнуть и прочесть, что там написано.

09 Мар, 15:50 #543 #681528

fout.write("%s%s%s" % (k, 9, 9-int(k)))

Почему это записывает в файл в две строки?
2
97

k считывается с файла в который записана одна 2

Откуда перенос строки?
Как записать 3 числа в одну строку?

Тред утонул или удален.
Это копия, сохраненная 12 марта 2016 года.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.

« /pr/В начало тредаВеб-версияНастройки/a//b//mu//s//vg/Все доски

Пользуетесь скринридером — пишите, что можно улучшить.
Host-Food.ru — надёжный хостинг от 12 руб/мес | Free DNS
Зеркала М.Двача: m2ch.hk, m2ch.lib, m2chfapiswfw2wcakptqp4o6ltgchvjuxfab7urxlduraomtlnhw5xad.onion