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

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
196 Кб, 1200x900
79 Кб, 900x598
Python #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
#2 #665305
Все-таки, охуенный язык. Утром впервые склонировал себе проект, к обеду уже фиксов накоммитил. Легко читается, легко рефакторится, причем, даже когда из документации проекта в твоем распоряжении только апиарий.
#3 #665330
Как узнать путь к интерпретатору с джанги? sys.executable возващает путь к uwsgi.
>>665385
#4 #665385
>>665330

Интерпретатору Питона?
>>665387
#5 #665387
>>665385
Есть ещё какие-то интерпретаторы в рамках пистоноразработки?
>>665388
#6 #665388
>>665387

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

Спасибо.
>>665441>>665465
#8 #665441
>>665440
Dive into Python*
#9 #665465
>>665440

Dive to dniwe onto Python.
#10 #665535
http://pyobject.ru/blog/2010/02/04/python-quiz/
"Классы" п1

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

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


Да.

dir(obj) вообще есть несколько способов.
#12 #665549
pygame дерьмо?
>>665556>>665979
#13 #665556
>>665549
А что нужно то?
#14 #665560
>>665535
Первое. через setattr или self.__dict__
>>665565>>665692
#15 #665565
>>665560
В self.__dict__ только собственные аттрибуты объекта. "все аттрибуты объекта" наверное включает аттрибуты класса(и его предков).
setattr тут причем?
>>665606
#16 #665566
Сап, питонч.
Такое дело. Я учусь в шараге на электронщика. У нас программирования практически нет, а то что есть- преподают хуево. А с другой стороны я, дабы подрабатывать, самостоятельно изучал html -> css -> js.
Вот. И я хочу еще язык изучить, дабы серверную часть сайтиков на нем писать, да и еще чтобы, возможно, он как-то с основной специальностью увязался. Слышал, что питон, помимо веб-разработки, еще и в научных целях используется. А на счет электроники, применяется ли он в этой области?
#17 #665569
>>665566
А что такое электронщик?
>>665583
#18 #665571
>>664900
>>664723
Спасибо за помощь.
#19 #665572
>>665566
Я бы рекомендовал node.js глянуть, раз уж жс учил
>>665583
#20 #665583
>>665569
Электронные схемы проектировать/считать/паять.
Я если честно сам еще не до конца понял, у нас по специальности предметы только в этом году начались.
>>665572
В сторону ноды я давно смотрю, это было бы быстрее всего, да и js мне приглянулся.
>>665587
#21 #665587
>>665583
А нафига тебе в схемах программирование? Там есть специальный софт в котором их рисуешь, платы разводишь и т.п.
Ну если ты будешь какие-то девайсы паять, которые можно программировать, то скорее всего там C. Хотя есть micropython.
>>665593
#22 #665593
>>665587
Пока все так и есть. Программировать нравится.
На первом курсе С изучали, я уже забыл все.
>>665597
#23 #665597
>>665593
У меня в вузике кстати вообще как-то мало внимания этому уделяли. Нет, у нас была электротехника, где мы теорию простую сдавали и какие-то схемы составляли из кубиков на лабараторной. А вот что-то паять, сложные схемы делать, платы разводить - этого вообще не было.
Учился на АСУ.
>>665605
#24 #665605
>>665597
Я тоже на АСУ, лол. И чем сейчас занимаешься?
Вот еще про С# думаю "есть один знакомый" подрабатывает на нем, чуть ли не 200к/сек. Ну и про java, ибо, как говорят, на нём все ололо-девайсы работают.
>>665699
#25 #665606
>>665565

>setattr тут причем?


чтобы

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


не?
>>665701
#26 #665687
писал на питоне 5 лет. Токо сейчас осознал какое это гавно.

Изучаю плюсы и жалею о проёбаных годах.
>>665702
#27 #665692
>>665560

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


хуясебе как оно умеет.

но это же поди не тру добавлять атрибуты? нужно плодить сабклассы наверно
>>665703
#28 #665698
>>665566
Python, Node.js - это всё веб. Использование их в других сферах весьма мало. Для электронщины тебе без Си не обойтись ну никак.
>>665706
#29 #665699
>>665605

> И чем сейчас занимаешься?


Никогда по специальности не работал, начал быдлокодить на php на 3-м курсе, всмысле работать. Быдлокодил то я и до этого.
#30 #665701
>>665606
Заносить значения как атрибуты можно просто obj.newvalue = 'foo'
setattr для этого не нужен.
>>665723>>665731
#31 #665702
>>665687
Подробнее пожалуйста. Мне вот плюсы кажутся говном из-за тыщи многабуквенных стандартов и <meta::StdVector<Map, String> Hui::Zopa>Raz::Dva>
>>665722
#32 #665703
>>665692
Обычно все аттрибуты добавляют в __init__
>>665785
#33 #665706
>>665698
питон это далеко не только веб.
#34 #665722
>>665702

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

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

Но в конце концов всё всё равно пишеться на более мощныз языках.
>>665725>>665824
#35 #665723
>>665701
Задание прочти уже, блядь. Там атрибуты динамически добавляются.
>>665727
#36 #665725
>>665722
А как насчёт гибридных приложений где критичные части на си, остальное на питоне? Например вроде бы hg так сделан.

С ютубом и дропбоксом наверное иная ситуация, чем у обычных кодеров, есть много денег и людей, их надо чем-то занять, плюс ещё надо экономить на кластерах. Да и инстаграм кажется ещё не переписали на жабу.
>>665729>>665730
#37 #665727
>>665723
А, я не туда смотрел.
ну да, через setattr и __repr__ переопределить
#38 #665729
>>665725

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

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

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

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

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

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

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

>setattr для этого не нужен.


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

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

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

всё остальное уже так, на любителя и питон в их числе.
>>665741>>665824
#44 #665741
>>665738
На джаве писать боль. Куча boilterplate и прочего. Но jvm годнота. Поэтому все и его собака используют scala. Или там groovy, kotlin и прочее.
Для системных приложений чаще не плюсы, а обычный си. Куда ни плюнь - си. Плюсы тоже, но реже.
#45 #665746
И вообще. Вот надо тебе crud`а всякого налепить и генерить отчеты допустим. Такой-то энтерпрайз.
На питоне ты берешь алхимию и на ней можно какие угодно запросы построить к любой бд. Веб интерфейс или rest api тоже лепится с пол пинка. Библиотеки для генерации отчетов в pdf/docx/что угодно есть. За месяц можно выкатить рабочую
Теперь джава - там конфигурирование всего этого начиная с hibernate на XML займет полгода.
Будет ли оно работать быстрее? Да нихуя, большую часть времени будут занимать запросы к БД.
>>665751>>665772
#46 #665748
Ну а вопрос качества это вопрос методологии разработки и покрытия тестами. Ну и совсем криворуких не подпускать к коду, или подпускать но делать review их кода.
#47 #665751
>>665746

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

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

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

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

> Проверка типов


Хуйня. В питон 3.5 добавили аннотацию типов, можешь хоть опроверяться с mypy или pycharm. Можно было и до этого, просто типы описывались другим способом.

> проверка методов.


Что это такое вообще?

> На питоне же надо перелопатить всё


Схуяли? ORM используй.

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

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

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

Одни плюсы и джава.
>>665765
19 Кб, 564x295
30 Кб, 378x266
#50 #665765
>>665760
Ну ладно. Питона популярность будет только расти, на западе ему сейчас учат во многих вузах и колледжах. И даже у нас кое-где.

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


https://www.python.org/dev/peps/pep-0484/
http://mypy-lang.org/
pycharm
но вообще это меньшая из проблем
>>665776>>665794
sage #51 #665772
>>665746
на гвидоне берешь и делаешь from django import tipichny_krud
>>665751

>на джаве будет порядок, одно из другого будет следовать


оч толсто. из боба абстрактной фабрики прокси синглтонов ничего не следует.
>>665773>>665776
#52 #665773
>>665772

> tipichny_krud


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

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

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

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

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

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

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

> всё что угодно может попасть туда


не может если ты сам это туда не засунешь.
#56 #665785
>>665703

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


ну и я про то же.
Выходит добавление "на лету" в __setattr это не более чем этакий выебон, в жизни так не делают?
>>665792
#57 #665791
да и ООП какое-то детское. Магические методы? лол что? нахрен мне эти методы, я хочу руками всё написать и видеть что происходит, а не париться над размышлениями, что же там делает метод номер 64.
>>665795>>665824
#58 #665792
>>665785
Делают но в каких-то хитровыебнутых случаях.
#59 #665794
>>665765

>Питона популярность будет только расти


Насмешил. Он давно уже пережил стадию роста и теперь постепенно отмирает, превращаясь в язык для обучения. У нас во многих шарагах учат Бейсик - и что, сильно его популярность от этого растет?
>>665801>>665824
#60 #665795
>>665791
Ну не используй их. Зато когда понадобится что-то такое ты заебешься это эмулировать.
#61 #665796
>>665751

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


>на джаве будет порядок


по что я ебаный нуб а и то представляю, что это зависит не от языка, а от того как процессы поставленны на производстве.
>>665824
19 Кб, 827x506
#62 #665801
>>665794
Он уже не умрет. Слишком дохуя где используется, слишком много кода на нем и библиотек/утилит.
Даже perl ещё шевелиться, вот кто начал умирать больше 10-и лет назад и вообще не развивался.
#63 #665802
>>665776

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


>


a rm -rf * какой маньяк вообще придумал? Это вообще нахуя? Пизда всему
328 Кб, 621x268
#64 #665824
>>665738
Хуй знает, может ты и прав. Но для меня плюсы и жаба это путь стать деревянным остолобом в очках и с лысиной, заканчивать проекты по нескольку лет и быть равнодушным к своей профессии слесарем без творческого начала.

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

>>665722

>слабый и ограниченный, Нет мощи, сложен, очень тяжел и очень опасен


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

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

>>665791

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


Поясни.

>>665794
Если бы его не развивали, не сделали тройку, асинхронность, не запиливали pypy, то да, питон бы уже всё. Бугурт двоечников 3..2..1..
>>665833
#65 #665831
>>665776
Ох, ну если уж припеклоу, то можно типы проверять вставляя assert. Для типизированных списков можно написать свой list. Можно использовать numpy для обработки численных массивов. Всё это на самом деле в питоне реализовано лучше, чем в остальных динамических языках. Типизация хоть и динамическая, но сильная, в случае чего у тебя вылетит экзепшен, даже без всяких ассертов.
153 Кб, 1075x342
#66 #665833
>>665834
#67 #665834
>>665833
На твою пикчу я уже отвечал в прошлом треде. 50к пакаджей протухшего говна, которое никому не нужно.
>>665837
85 Кб, 598x368
#68 #665837
>>665834
Ты послушай о чем он говорит. От этого протухшего говна зависит дохуя другого говна и так по цепочке. В итоге проекты не могут перейти на 3-шку или им придется патчить не только свой код, но и библиотеки, которые они не писали.
Вторую половину лекции он говоит про diversity. Что мало баб кодеров и надо взять в core team пару баб, пусть и нубов. И что мало негров. Они там совсем ебанулись на эту тему. В джанго тоже на djangocon какие-то бабы феминистки выступают говорят что их притесняют за то что они тян. Даже в ДС был недавно event django girls.
>>665844
#69 #665844
>>665837
И чо? С пхп4 на пхп5 всё на перегонки портировали, никто не ныл. На крестах постоянно со стандарта на стандарт портируют и в хуй не дуют по этому поводу, говорят даже что мало, давай ищщо стандартов. С ES3 на ES5 перешли и не заметили, ES6 ещё в браузерах не заработал, а все на нём уже пишут.

Проблема была не в переходе с 2 на 3, проблема была в людях, которые считали нововведения незначительными, а то и вовсе неудобными. В таких как ты. Форкнули бы уже двойку и развивали дальше, пока не постигнула бы вас участь перла.
>>665846
#70 #665846
>>665844
Потому что в энтерпрайзных языках вроде php не ломали обратную совместимость(а надо было бы)
>>665847
#71 #665847
>>665846
Ещё как ломали. Другое дело что в питоне сломали болезненную фичу: возможность байтово хакать строки, куча быдлокодеров сразу же заныло и засопротивлялось. Раковые опухоли надо отрезать. В итоге у нас няшная чистая тройка вместо ебанутого синтаксиса как у жс и крестов.
>>665849
#72 #665848
Бля, хоть сервис открывай. Портирую библиотеку с 2 на 3 если под неё наберётся определённая сумма денег. Вывести список двоечных библиотек и пусть голосуют баблом.
#73 #665849
>>665847
Уже вернули в тройку такую возможность азазаз по многочисленным просьбам.
>>665851>>665855
113 Кб, 599x491
#74 #665851
>>665849
Где?
>>665854
#75 #665854
>>665851
Не помню. Но там что-то меняли в поведении кодеков и вроде бы раньше всякие функции работы со строками с bytes не работали.
#76 #665855
>>665849

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

#77 #665856
Тройка калеченая
>>665859>>665860
#79 #665859
>>665856
Двойка калеченая
#80 #665860
>>665856
Тройка - для обучения школьников. Двойка - для работы.
#81 #665861
>>665858
Армина сразу нахуй.
Второй по сути ноет что дорого библиотеки портировать. Посту почти два года.

Заебали ныть. http://py3readiness.org/
>>665864>>665865
1734 Кб, 360x270
#82 #665864
>>665861

>ansimble


>fabric


>magic


>cjson


>google apps


>mechanize


>scarpy


>openid

#83 #665865
>>665861
Просто посмотри правде в глаза, питон3 навсегда останется экспериментальной бетой. Нечетные версии - эспериментальные.
История напонимает perl6 или php6.
Адекватные люди сидят на двойке, а потом выйдет питон4 полностью обратно совместимый с python 2.9
#84 #665871
>>665865
Хорошая такая экспериментальная бета, на которую уже перенесли 95% актуального кода. Предлагаете к питону4 назад на двойка-like всё переносить? Называете себя адекватными людьми? Лол, ну удачи.

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

> На него в разы меньше пакаджей


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

>Что это значит. Он совместим с cpython если там нет C-кода.


>Вот есть ещё всякие cython че там незнаю.



Я нихуя не понял.
>>665876
#87 #665876
>>665875

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



Любые пакаджи обычного питона там работают, если в них нет кода на си
32 Кб, 479x479
#88 #665877
#89 #665913
Как сделать на питоне полноценное приложение под линух? Ну чтобы приложение называлось, например yoba - вводишь в консоль yoba и оно запустилось.
>>665914>>665915
#90 #665914
>>665913
Положить в /usr/bin или /usr/local/bin скрипт yoba, который будет делать что-то типа "import yoba;yoba.main()". И пэкэдж yoba положить куда-нить в /usr/lib/python3/dist-packages/ или куда там ставяться они
#91 #665915
>>665913
#!/usr/bin/env python
print('ETO TY?')

А потом да, в /bin, ну или куда там ещё твой PATH указывает.
>>665918
#92 #665918
>>665915
Не в /bin. В /bin чисто системные команды, а не пользовательский софт.
В /usr/bin или лучше в /usr/local/bin
#93 #665926
Господа, обращаюсь к вам за советом.

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

> ступенчатому градиенту


> гистограммы


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

> экзешники будут много весить


Ой на это всем насрать давно, времена диалапа прошли.
>>665983
#98 #665983
>>665980
Когда простенький платформер весит как что-то серьезное - это не смертельно, но раздражает и да, даже сейчас не у всех безлимитка
#99 #666060
Посоны, посоветуйте легкую либу для конвертации гифок в джипеги, только не PIL.
>>666064>>666092
#100 #666064
>>666060
imagemagick
>>666087
#101 #666075
Вот все ругают питон за слом обратной совместимости, а я почитал про отличия между версиями руби(минорными) - там вообще атас.
#102 #666084
Поясню с точки зрения полного нубаса чем охуенен питон:
ОН ПРОСТО РЕШАЕТ ПРОБЛЕМЫ ПЕРЕД НИМ ПОСТАВЛЕННЫЕ
не сказать что очень быстро внутри него всё крутятся, не сказать что вот прям из коробки, но в целом я за овер 2,5 месяца программирования от абсолютного ноля до того, кто туда-сюда все свои текущие с недостатком автоматизации проблемы или уже порешал, или на пути к этому.
Наверняка всё что я накодил это лоховской уровень, я даже сторонние модули не читаю перед использованием, но это уровень достаточный для среднего и мелкого отечественного бизнеса.
Из нахуяренного: простенькая система для работы с дилерами на веб2пу: просто таблица с авторизацией куда могут дилеры добавлять чё им надо, а я проставлять "предполата, оплата, заказ, на складе, доставка/самовывоз и прочие мелочи"
На складе валяется айпад с симкой и доступом к табличке, так что кладовщик тоже ставит что кому дал.
Люди и я тут же получают нотификейшн через е-мейл о статусе изменениях и тд.
Целая куча разной хуйни от тупорылого сортировщика корреспонденции упавшей на почту до моего текущего проекта - парсинга яндекс пробок что бы вдуплить где мне билборды покупать что бы как можно больше водятлов их увидело и разглядело.

Вот в этом всём питон очень хорош и кайфовый, что подходит даже таким как я. А то что чистые программёры наверняка найдут куда более изысканные и целевые инструменты - это понятно, но не могу сказать что это именно недостаток питона.
#103 #666087
>>666064
Ну не, там похоже зависит от бинарника какой-то левой проги, не просто pip install.
#104 #666092
>>666060
pillow
yoba.png
>>666098
#105 #666098
>>666092
Ну ладно, уговорили, щас сам буду писать велосипеды и изучать форматы.
>>666100
6 Кб, 640x400
#106 #666100
>>666098
Ты хочешь на чистом питоне написать конвертер графических файлов? Даже без всяких numpy?
128 Кб, 616x277
#107 #666106
>>665729

> где можно хранить в списке даже не просто


Кстати, с аннотациями типов можно указывать, что может быть в списках для проверки типов
#108 #666122
Ананас, я понимаю что за то что я напишу ниже меня скорее всего обольют говном но всё же. Только начал изучать, а уже хочется обмазаться статистической хуйнёй. Не будеш ли ты так любезен напилить сюда программку две. Суть такова. Скармливаем скрипту текстовый файл, скрипт его парсит. На выходе генерирует файл в котором есть список слов встречающихся в исходном, а через тире - сколько раз это слово встречается в файле. Тоже самое но со статистикой по буквам и символам. Если меня пошлют нахуй я пойму и буду долго ебаться сам.
>>666124
#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
#110 #666127
>>666124
Чтобы по буквам и символам просто убери .split()
>>666131
#111 #666131
>>666124
>>666127
Огроменное спасибо. Ща попробую. А потом буду пытаться понять предпоследнюю строчку.
#112 #666196
Что почитать для освоения django php-макаке? Или всё-таки застрелиться?
>>666197>>666200
#113 #666197
>>666196
tutorial на оф сайте
#114 #666200
>>666196
Есть даже на русском http://djbook.ru/rel1.8/
Если ты работал с каким-нить MVC фреймворками и ORM на php то вообще всё понятно будет сходу. Да даже если не работал.
>>666220
#115 #666220
>>666200
Это пнятно. А книженции какие-нибудь для общей картины?
>>666223>>666257
#116 #666223
>>666220
Погружение
#117 #666257
>>666220
2 scopes of django
#118 #666538
Как узнать домашний каталог пользователя? Типа /home/yoba, /root, C:\Users\yoba?
>>666539
#119 #666539
>>666538
import os
os.path.expanduser('~')
>>666654>>666777
#120 #666654
>>666539
Кокой смайлик
>>666778
#121 #666708
Ну шо посаны, как думаете имеет ли смысл ехать на PyCon во Львов в апреле?
#122 #666715
>>666708

>во Львов


Чот не тянет как-то.
>>666726
#123 #666721
>>666708
Ещё бы
Львов охуенен
Местные куда цивилизованнее и похуистичнее, чем всё то быдло которое ты встретишь по пути во Львов
Будешь за косарь руб в сутки там царем и повелителем, а если ещё не начнёшь всякую хуйню неинтересную о политике базарить - какая-нибудь пани согласится погреть твоего питончика
>>666726>>666783
#124 #666726
>>666715
Ну кацапам то понятно, а вот мне как Киевлянину? Просто никогда на таких конфах не был. Туда имеет вобще смысл ехать человеку с уровнем между энтри и джуниор?
>>666721
Да знаю я что Львов охуенен. Меня сам смысл PyCon-a для новичка интересует.
>>666741
40 Кб, 410x320
#125 #666741
>>666726

> кацапам


> Киевлянину


> никогда на таких конфах не был


> уровнем между энтри и джуниор

#126 #666777
>>666539
Спасибо.
>>666985
#127 #666778
>>666654
os.path.expanduser(:3)
#128 #666781
>>665865
хз, у нас 3-ка в продакшене крутится, брат жив
на второй смотрю как на говно
#129 #666783
>>666721
Заманиваешь меня во Львов, да? А потом гопнешь в подворотне, обоссышь и заставишь своего питона гладить.
>>666805
#130 #666793
Русскую туристку недавно убили в Ивано-Франковске по нац. мотивам. А она была либерашкой, каялась за русню и хвалила майдан, и то это её не спасло. Впрочем, за тризуб недавно кого-то там же побили. Так что я бы без охраны на западенщину не ездил.
#131 #666801
Во-первых, все эти конференции можно на ютубе посмотреть через пару недель. Во-вторых, там не гвида/бизли/тот-негр-с-пучикаго выступает, чтобы в рот смотреть. Единицы докладов покажут или откроют что-то новое. В-третьих, платить за это деньги? Ну, если конторка платит, то можно.
>>666807>>667208
#132 #666805
>>666783
Ты конечно не поверишь, но так-то я вообще в ДНР живу и за него же топлю. Но Львов люблю.
>>667216
#133 #666807
>>666801
О, данке за развернутый ответ. Тогда буду расматривать захочется или нет побухать на выходных.
#134 #666809
Заебали политикой. Лучше уж срач 2vs3.
#135 #666811
>>666809
О чём спор? питон 3 вымрет как пхп7, никому не нужно то, что в продакшн не запихунть
#136 #666820
>>666809
О чём спор? питон 2 вымрет как делфи, никому не нужно неподдерживаемое легаси дерьмо.
#137 #666822
>>666809
Кодю на питон-1 и охуенно мне
>>666825
#138 #666825
>>666822
А что, такой есть? Это типа протоукров что-то?
>>666833>>667211
#139 #666833
>>666825
в отличии от протоукров, хотя бы существовал
https://www.python.org/download/releases/
#140 #666890
Как импортировать файл, лежащий в другой папке? Допустим у меня есть файл 'test.py' и папка 'src', в которой лежит 'data.py'. Что нужно вести, чтобы в test.py импортировать data.py?
>>666898
#141 #666898
>>666890
from src import data
>>666919
#142 #666919
>>666898
Пишет Error: No module named src
>>666961>>671729
#143 #666961
>>666919
В src создай дваподчеркиванияinitдваподчеркивания.py
>>666981
#144 #666970
>>652531
Пытался поставить пакет(или как это зовется) анакондас, выбивало ошибки, типо не может добавить в путь и еще что-то, питон поставился - а оболочка ipython - нет. Имя у меня кириллицей. Может ли это быть причиной? Или же я не могу найти ipython? Как мне переименовать и не проебать все установленное?

Подскажете?

Сорян, не сразу нашел актуальный тред.
>>666973
#145 #666973
>>666970
Простой способ: virtual box с линуксом
Сложный: гугли
>>666976
#146 #666976
>>666973
В итоге у меня что-то поставилось, сам питон - точно установился, может я этот айпитон не могу найти? Вообще папка появилась с ним, но там только templates внутри, по локалхосту не заходит.
>>667043
#147 #666981
>>666961
Сработало, спасибо!
#148 #666985
>>666777
Алсо, для комбинирования путей с домашним каталогом конкатенация не обязательна.

os.path.expanduser('~') # output: /home/yoba
os.path.expanduser('~/Documents') # output: /home/yoba/Documents
#149 #667043
>>666976
Я так и не понял втф анаконда, если честно
ipython. - питоновский шелл более удобный с плюшками автодополнением и тд
ipython notebook - сорт оф документы гугл драйв для отображения сразу на а4 всякого говна вычислительного вперемешку с данными и тд. Наверное удобно, но привычки нету.
pip - менеджер пакетов

Анаконда тогда выходит типа такой автоматической средой для запуска-подбора пакетов-среды так сказать исполнения?
>>667048>>667461
#150 #667048
>>667043
http://fablabs.ru/wiki/index.php/Anaconda
Я про это, в итоге попробую завтра переименовать юзера.
Или лучше создать еще одного, думаю получится юзать со своего основного?
#151 #667206
>>666708
Нехуй там делать, посмотришь на ютубе потом. Тем более какой-то провинциальный pycon там и докладов интересных не будет.
#152 #667208
>>666801

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


Дай ссылочку. Хочу в рот посмотреть.
>>667255
#153 #667211
>>666825
Я на нем даже писал, на 1.6
На самом деле всё там нормально было
#154 #667216
>>666805

> но так-то я вообще в ДНР живу и за него же топлю


Нахуя, ты ебанутый? Я думал таких людей в IT не бывает, тех кто там бы жил и болел, а не издалека поддерживал.
>>667219
41 Кб, 600x600
#155 #667219
>>667216
Может он министр ИТ ДНР и ему там норм?
>>667223
test #156 #667223
>>667219
_____________##_##_____________
____________######____________
___________#######____________
__________########____________
_________#########____________
__________#######______________
___________#####________________
___________#####________________
___________#####________________
___________#####________________
___________#####________________
__#####___#####____#####_____
_#######__#####__########___
#########_#####_#########__
#########################_
#########################_
_#######################___
___#########_____#######_____
____#######________#####______
______####_______________________
#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
#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 #158 #667234
На хуях должно быть написать "2vs3 за ДНР". Тогда будет канонично.
#159 #667245
Вот почитал тред, особенно посты сверху про Пистон и его "востребованность" и чот в голове рождаются мысли съебывать пока не поздно. Грусть.
>>667261
#160 #667255
>>667208
https://www.youtube.com/watch?v=MCs5OvhV9S4
https://vimeo.com/53039281
Бля, негра двадцать минут искал. James Powell. Короче, просто вбивай их в ютубе и смотри. Не дают скучать, шуточки-хуюточки, не тянут резину.
>>667264
133 Кб, 600x333
#161 #667261
#162 #667264
>>667255
Спасибки
#163 #667287
Во многих местах вижу конструкцию
if name = 'main':
Что это означает?
>>667288
#164 #667288
>>667287
вангую что это говно не портируется при импорте модуля.
а? я угадал?? ммм?
>>667289
#165 #667289
>>671132
#166 #667291
http://pyobject.ru/blog/2010/02/04/python-quiz/
"Классы" п3

Получилось сделать аттибуты по именам методов.
Как теперь вызывать методы имея только их "имена" в виде строк?
>>667293>>667296
#167 #667293
>>667291
Чет я там такого не вижу в пункте 3
#168 #667296
>>667291
Вообще getattr(obj, method_name)()
#169 #667302
https://dpaste.de/x0f7

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

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

>self.__setattr__(new_attr,0)


А это зачем?
>>667306
#171 #667304
>>667308
#172 #667305
>>667309
#173 #667306
>>667303
легаси =)
Уже незачем.
#174 #667308
>>667304
не могу понять почему нужно было закоментить self.__setattr__(new_attr,0)
То что оно бесполезно это одно, но почему с ним не работает?
Ведь позже переопределяется поведение на вызов этого атрибута, как оно умудряется нуль свой просунуть?
>>667310
#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
#176 #667310
>>667308
__getattr__ вызывается только если такой аттрибут не найдет в объекте(классе/родительских классах).
если тебе надо чтобы дергалось в любом случае есть __getattribute__, но лучше её не использовать(он будет вообще на любой чих дергаться)
7 Кб, 261x134
#177 #667312
>>667309
Нет. Короче. property это хрень, чтобы аттрибуты на самом деле вызывали функции, но обращаться к ним как к артибутам можно было.
22 Кб, 394x344
#178 #667313
>>667309
В п4 хрень в том, что он хочет чтобы итерироваться можно было по самому классу, а не инстансу. Это значит что надо с метаклассом пердолиться.
>>667314
#179 #667314
>>667313
https://dpaste.de/sKTb
почему когда делаю del инстанса то оно не хочет делать __del__ ?
>>667318>>667320
#180 #667315
Альзо, ты что в Сибири живешь? ну, а то бы могли уебывать, ты знаешь
>>667316
24 Кб, 482x363
#181 #667316
>>667315
Нет. Короче, вот.
Пиздец уебанское задание
https://dpaste.de/QKdP
>>667317
#182 #667317
>>667316
ебать, я пока еще не там, чтобы такие задания делать
>>667318
#183 #667318
>>667317
Это задание ебанутое, в реальной жизни никто с этими метаклассами не пердолится. Если ты не пишешь очень хитровыебнутую библиотеку типа django orm.
>>667314
Кек, не сразу сообразил сам. Короче:
Потому что __del__ срабатывает когда ты удаляешь все ссылки на объект и он перестает существовать.
У тебя же ссылки на объект 2 - одна называется c, другая - внутри этого списка
>>667319
#184 #667319
>>667318
т.е. del не удаляет сам объект. Он удаляет ссылку на него, которая называется "c". Сам объект удалиться сборщиком мусора, когда на него будет ноль ссылок.
т.е. ты мог бы написать
a=A()
b=a
__del__ сработает только когда ты удалишь обе ссылки - b и a.
>>667321
#185 #667320
>>667314
В данном конкретном случае может помочь модуль https://docs.python.org/3/library/weakref.html
#186 #667321
>>667319
Справедливо.
Однако почему если напрямую вызвать с.__del__()
чтобы сработал Base.remove(self) то оно пиздит что ничего ремув не может тк этого в списке и так нет
>>667322
#187 #667322
>>667321
Скорее всего получается что оно у тебя 2 раза удаляется. добавь print внутрь __del__ чтобы понять что происходит.
>>667323
#188 #667323
>>667322
Ну тоже странно. Оно аж 3 раза пытается удалить.
Я так понимаю что оно в __del__ еще чтото делает помимо того я ее явно прошу, возможно само себя зовет.
что, признаюсь, неочевидно
>>667324>>667325
#189 #667324
>>667323
как будто оно не запись в листе удаляет а сам объект.
#190 #667325
>>667323
Оно в __del__ удаляет объект из списка, который является последней ссылкой на этот объект и из-за этого вызывается __del__ опять. Такая хуйня.
>>667328
#191 #667327
Вообще со всеми такими махинациями происходит много неявной хуйни, лучше этим не злоупотреблять.
А они в новых версиях питона всё больше и больше такого добавляют. Enum который через магию на метаклассах работает. Аннотации типов эти тоже
#192 #667328
>>667325

выходит когда я вызываю с.__del__ я уничтожаю "с" И вызываю метод __del__
я думал что если я переопределяю метод то он делает только то что я говорю. Ну тоесть удалить никого уже не может.
>>667329>>667330
11 Кб, 392x212
#193 #667329
>>667328
Нет, c уничтожаться не должен. Но ничего и не происходит, если его вызывать он удаляет из списка этот объект и всё
>>667331
#194 #667330
>>667328
закоментил Base....remove(self) и просто проорал от происходящего
#195 #667331
>>667329
но тогда схуя много раз вызывается __del__ ведь ссылка на объект сохраняется в с?

Впрочем, уже видно(выше писал) что удаления из списка тут ни при чем
>>667332
#196 #667332
>>667331
Если ты просто вызвал __del__ как на моем скрине и ничего больше не делал, очевидно, что __del__ вызывается один раз, иначе оно бы вывело ошибку, потому что объекта в списке уже нет.
#197 #667333
наверно в строчке for i in Base.child_roster[] оно создает итератор который по окончанию цикла уничтожается вместе с содержимым, это содержимое при погибели пытается стереть запись из списка в Base
Даже и логично
>>667334>>667338
#198 #667334
>>667333
Ну i это тоже ссылка на объект, да. Хм.
#199 #667335
еще раз спрошу.
если я переопределяю __methodname__ то мое "переопределение" просто добавляется к изначальному коду или заменяет его?
На примере с __del__
>>667337
#200 #667337
>>667335
__del__ это изначально пуской метод по дефолту он нихуя не делает.
Нет, не добавляется. Ты должен из переопределенного метода вызывать метод класса-предка явно.
Обычно это делается через super
http://stackoverflow.com/questions/222877/how-to-use-super-in-python
>>667341
#201 #667338
>>667333
а если итератор вызвать много раз,то удалит оно всеравно только один раз.
Это уже интерпретатор умничает?
>>667339
#202 #667339
>>667338
Оно не должно __del__ вызывать, потому что у тебя ссылка сохраняется на объект как минимум в этом списке самом.
#203 #667341
>>667337
Только я подумал что разобрался, как это ебаное перекрестное удаление снова до меня добралось.
Анихау, благодарствую за твое время, но мне нужно спать, надеюсь ты тут часто ползаешь.
#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
#205 #667343
Кек когда выходишь из интерпретатора вообще прикол.
>>667346
#206 #667344
>>667342
Ох. Я про этот случай даже читал в какой-то доке, pypy кажется. open(f).read() - зло, with наше всё.
#207 #667346
>>667343
Ага. Про __del__ даже в доках сипитона пишут что оттуда доступен очень ограниченный набор действий. Первая ошибка у тебя потому что ты явно вызвал del как обычный метод, и на второй del объекта в списке уже нет. Вторая ошибка видимо от того что на момент сборки мусора глобальный скоуп уже вычищен.
#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.

#209 #667351
ponyorm оказывается пидорашками написан
https://www.youtube.com/watch?v=xjikvIHjvHs
>>667352
#210 #667352
>>667351
А aiohttp каклом :DDDD
#211 #667355
Был кстати годный фреймворк django-подобный на на основе других библиотек и более гибкий https://bitbucket.org/piranha/svarga/src но его забросил давно
>>667356
#212 #667356
>>667355

>более гибкий


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

>прибиты гвоздями


Не прибиты. Импортируй SQLAlchemy какой-нибудь и используй. С формами ещё легче.
#215 #667365
>>667358
Не представляю зачем это делать. Мне наверное даже нравится что никто это не шатает в джанге, совместимость, батарейки, все дела. Ещё я как-то трогал проект на джанге и алхимии вместо родной орм, и ниче, работало всё. Формы вроде бы стандартные.
#216 #667385
>>667358
Это часто преимущество, а не недостаток.
2 Кб, 105x47
#217 #667430
>>665294 (OP)
Анончик, хочу научиться писать красивый, асинхронный код в 3.5. Годных гайдов для нихуя не знающих об асинхронности не нашёл. У тебя есть что-нибудь по этой теме?
>>667439
#218 #667434
Что за пиздец Dive into Python? Первая программа - непонятная хуйня. Вместо нормальных объяснений тех же циклов полный пиздец, который нихуя не понятен. Что я делаю не так?
>>667447>>667462
#219 #667439
>>667430
Эм. А что там писать-то? Прежде всего доки по asyncio смотри. Иногда ещё бывает нужно в гитхабе посмотреть исходники этого asyncio, но это в крайних случаях уточнить то что в доке не описано.
#220 #667447
>>667434
На кой ты его взялся читать? Укус, Доусона, Синк читай и не выебывайся
>>667463
#221 #667461
>>667043
Питон, по дэфолту запакованный всевозможными либами для матана и науки. Что не понятного то?
196 Кб, 826x986
#222 #667462
>>667463>>667467
#223 #667463
#224 #667467
>>667462
Анон, что нужно хорошо знать, чтобы взяться за Django?
>>667472
#225 #667472
>>667467
Да ничего не нужно. Со всем можно походу разобраться.
#226 #667476
Есть ли Анон, который может чекнуть гитхаб и указать на явный говнокод? Высрал свой первый недопроект. Хотелось бы замечаний и улучшений. Если тебе совсем нечего делать, то можешь даже закоммитить https://github.com/RichardVoid/VK_simple_status.
11 Кб, 225x225
#227 #667480
>>667476

>user_password


OAuth для кого придумывали? Я конечно понимаю что не весь функционал через него работает, но статус-то скорее всего таки да.
>>667482
#228 #667481
>>667476
https://github.com/RichardVoid/VK_simple_status/blob/master/main.py#L150
OCHE дохуя буков для обработки времени. Проще надо, намного. Последнюю цифру взять кстати n % 10
>>667488>>667611
#229 #667482
>>667480
Для OAuth нужно открывать страницу браузера. Понимаю, что нужно для безопасности это переделать, но пока не знаю как. Пока что такой говнокод. Предупреждал же, что недопроект.
#230 #667484
>>667476

> + os.sep +


os.path.join же

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

> RuTime


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

А вообще норм выглядит, молодец.
>>667487
#231 #667487
>>667484
Не нашёл либы. Возможно плохо искал. Все знакомые крестовики, и используют python только для всяких своих приготовлениях для инжектов, поэтому ничего о человеческих либах не знаю.
#232 #667488
>>667481
Спасибо, переделаю.
#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
#234 #667495
>>667491
Данное API работает как бы с "мобильной версией" сайта ВК + VK очень странно просит капчу. Происходит это в самый ненужный момент, поэтому и гадаю. Очень долгоиграющий токен VK выдаёт только разработчикам standalone приложений, после запроса к модераторам. На мою фигню они подобный токен не выделят. Видел инструкцию на Хабре, как этот токен можно спереть из крупных, опенсоурс приложений для вк, но не рискнул, ибо не совсем это честно.
#235 #667498
>>667491
Немного подробнее про селенум можно? Что, хотя бы, это такое?
>>667503
#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.
#237 #667503
>>667498
Это такой руль для полноценного браузера. Я уже подзабыл оаутх, но совсем недавно занимался селениумом. Насколько помню там надо просто открыть определённый стартовый урл, затем ждать пока урл не станет определённого вида (всё как для standalone кстати), там в фрагменте урла будет токен, нужно взять его и закрыть браузер. Короче могу тебе напилить если ты мне напомнишь урлы и какие куда там параметры передать.
>>667506
#238 #667506
>>667503
Тогда годно. Попробую сам изучить + напилить. Спасибо за совет.
>>667507
#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/
#240 #667514
https://github.com/RichardVoid/VK_simple_status/blob/master/main.py#L302
Вот так лучше:
new_date['year'] = '{} {}'.format(item[1], self.__year(item[1]))
#241 #667611
>>667481
Спасибо за подсказку про остаток от деления. Рефакторнул и получил в 3 раза меньше кода.
>>667614
#242 #667614
>>667611
Я тебе даже больше скажу по этой теме, есть всего несколько типов склонений слов по числительным. То есть универсально нужно всего около трёх функций, выдающих только окончание слова. По числовому спектру специальный случай только десятки.

если n // 10 % 10 == 1, то: минут
Иначе для n % 10:
0, 5, 6, 7, 8, 9 минут
1 минута
2, 3, 4 минуты
>>667616
#243 #667616
>>667614
Где про подобную математику можно больше почитать(не только про склонения слов)? Моё математическое образование оставляет желать много лучшего.
>>667618
#244 #667618
>>667616
А что математика? % это остаток деления, // это целочисленное деление (в отличие от / который выдаёт в общем случае float).

5 % 2 == 1
5 // 2 == 2
7 % 4 == 3
итд.
>>667622
2 Кб, 151x97
#245 #667622
>>667618

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

>>667623>>667624
#246 #667623
>>667622
ENTERPRISE
E
N
T
E
R
P
R
I
S
E
#247 #667624
>>667622
Я уже на SO прочитал. Но всё равно спасибо. Чтож, будем думать как переделать снова.
>>668063
8 Кб, 318x244
#248 #667644
у меня тут вопрос по соглашению по именованию переменных
есть ли какая-то рекомендация, как лучше называть переменные которые потом возвращаются из функции?
PEP8 Naming Conventions прочитал, не нашел
сам называю их out или res (out больше нравится), но это сцуко 3 символа ведь. использовал бы О, но PEP8 запрещает
#249 #667650
>>667644
Я часто result полностью пишу. Используй мелкую о.
>>667651
#250 #667651
>>667650
спасибо
#251 #667652
>>667644
Насколько я знаю - нет. Разве что, логично было бы называть их абстрактными именами того, что ты возвращаешь
25 Кб, 504x684
#252 #667653
>>667644
Называй их по смыслу их содержания, а не просто out
>>667655
#253 #667655
>>667653
вот это было ахуенно. благодарю
#254 #667658
Экстеншоны на си лучше писать через родной интерфейс cpython или универсально учиться делать, через cffi? Чтобы сразу и под pypy подошло.
#255 #667660
https://www.linux.org.ru/forum/job/12386037?lastmod=1456480201774
Или в ред хат устривайтесь питонщиками в чехию
#256 #667787
>>667644
Да ты бы переменные пробелом именовал, если б разрешили.
>>667807
#257 #667807
>>667787
Го PEP на переменные - эмодзи оформим. Только для илитарных пацанов и стремящихся.
#258 #667821
Как же хочется девочку. Чтобы можно было погладить её по нежной коже, прижаться к ней, почувствовать её тепло, а она бы прижималась и оббнимала в ответ. Мы ббы сидели вместе обнявшись и наслаждались близостью.
>>667830>>667831
#260 #667831
>>667821
Как же хочется либу. Чтобы можно было погладить по её нежным модулям, прижаться к классам, почувствовать её методы, а она бы конструировала метаклассы под конкретную задачу. Мы бы сидели, писали и коммитили.
>>667904
#261 #667861
Как же хочется винтовку. Чтобы можно было погладить её по гладкому прикладу, прижаться к ней, почувствовать запах её смазанного металла, а она бы перезаряжалась и стреляла без проблем. Мы бы сидели вместе обнявшись и учитывали поправку на ветер.
#262 #667866
Как же хочется миллион долларов. Чтобы можно было погладить его по нежной коже чемодана, прижаться к нему, почувствовать хруст его купюр, а он бы кормил меня и придавал власти и важности. Мы бы сидели вместе обнявшись и наслаждались богатой жизнью.
#263 #667874
Как же хочется быть диктатором страны. Чтобы можно было расстрелять пару сотен умников, издать ебанутый закон, нести тонны убивающей мозг пропаганды в прямом эфире, а она бы почитала и канонизировала в ответ. Мы бы сидели вместе: я в генштабе, а остальные за решёткой, и наслаждались бы великим смыслом революции.
#264 #667882
Как написать текстовую рпг? Не для MUDаков, без онлайна.
>>667884
#265 #667884
>>667882
Доусон
>>667978
#266 #667904
>>667831
да ты бы и собаку закоммитил
#267 #667929
Решил на локалхосте завести зеркало хтмл документации. Удалённые доки что-то часто долго открываются, особенно numpy. Есть ли под это добро готовые поисковые машины? Чтобы взял, проиндексировал, запустил сервачок, и ищи-гугли сколько влезет.
>>667957>>668012
#268 #667957
>>667929
Если документация сгенерирована с помощью сфинкса, например. Но там статика и поиск работает. Можно хоть на гитхаб.io закидывать.
>>667979
#269 #667978
#270 #667979
>>667957
Не, готовое всё. Архивы с хтмлами.
143 Кб, 1010x645
102 Кб, 963x630
#271 #668012
>>667929
А нахуя если есть devhelp?
#272 #668047
>>667476
статикметоды это говно, либо обычные методы, либо функции
#273 #668061
Хочу написать бота для управления группой вк.
Какой модуль импортировать, с чего начать, как авторизоваться?
>>668071
#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
#275 #668071
>>668061
pip install vk
>>668136
#276 #668079
>>668063
еще манипуляции с файлами заменить на pathlib чтоб совсем тру было
#277 #668081
Вопрос ньюфага. Шиндошс, нужно чтобы по даблклику по *.py-файлу открывалась консолька и исполнялся сабж. Какой интерпретатор ставить?
>>668101
#278 #668101
>>668081
Шебанг.
>>668106
#279 #668106
>>668101
Н-но у меня же окошки.
>>668126>>668157
#280 #668126
>>668106
Ладно, скажу просто по-другому. Нужен годный компилятор питончика под окошки.
>>668133
#281 #668133
>>668126
Ассоциируй .py файлы с python.exe, че ты, как маленький? Правой кнопкой, свойства и т.д.
#282 #668136
>>668071
можешь пример какой-нибудь кинуть, как этим модулем vk пользоваться?
Он не слишком стар? выглядит заброшенным на github
141 Кб, 300x300
#283 #668157
>>668106

Ничего не понимаю. И это продакшен. Говно какое-то. Пидоры, блядь. Блядь, Гвидо с сообществом им дали интерпритатор на окна. Пиши, пиши свои круды в Окнах, блядь, "не хочу! хочу жрать говно!" Что такое? Это программирование? Это программирование? Суки. Мудачьё. Программисты. Dive into Python прочитали. Говно жрут. Пидоры блядь ёбаные.
>>668161
#284 #668161
>>668157
что такое "круды"?
>>668167
#285 #668167
>>668161
CRUD — (create, read, update, delete)
#286 #668201
Есть небольшая программка на питоне из десятка файлов, разбитых по папкам. Нужно написать инсталлер к ней. Чтобы оно создавало каталог в домашнем каталоге и прописывало себя в /usr/local/bin. Чем это лучше сделать? Как упаковать все файлы приложения в один? Если архив, то останется один установочный скрипт, а значит будут два файла. Можно все в один?
>>668324
#287 #668245
>>668218
это программа на лиспе?
>>668264
#288 #668264
>>668245
На перле.
#289 #668277
Есть небольшая программка на питоне из десятка файлов, разбитых по папкам. Нужно написать инсталлер к ней. Чтобы оно создавало каталог в домашнем каталоге и прописывало себя в /usr/local/bin. Чем это лучше сделать? Как упаковать все файлы приложения в один? Если архив, то останется один установочный скрипт, а значит будут два файла. Можно все в один?
>>668279
#290 #668279
>>668277
Таришь каталог, делаешь base64 yoba.tar.gz, записываешь как строку в install.sh, на клиенте из скрипта строку разворачиваешь в тар, распаковываешь.
>>668295
#291 #668295
>>668279
Спасибо! Хорошая идея.
#292 #668298
Блин. Я даже не могу запрос нормально составить. Помоги анон.

В общем, в PyQt5 есть всякие layout'ы и вопрос в том как сделать так, чтобы один виджет заполнял 20% QVBoxLayout, а другой 80%?
>>668302
219 Кб, 1280x978
#293 #668302
>>668899>>668909
#294 #668324
>>668201
setup.py и вся хуйня
Упакуешь потом в deb/rpm
Конфиги в домашнем каталоге должен создавать скрипт при запуске, копируя их из /usr/share
109 Кб, 687x807
#295 #668327
Питноны, как мне сделать аллокатор множества пайпов в единственном темпдире?
Хочу писать много раз так:

with TempPipe() as fname

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

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

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

Оно в целом не сильно критично, но интересно может ли питно сделать такое красиво.
>>668335
#296 #668333
Как же пиздато ExitStack позволяет разворачивать ёлку из with в последовательный код.
#297 #668335
>>668327

> множества пайпов


А нахуя?
>>668337
#298 #668337
>>668335

>А нахуя


Не обошлось без традиционного тебя. Ну вот извращенец я, люблю создать 10к пайпов по утру, прикола ради.
#299 #668351
Сосоны, а ведь endswith может принять tuple. Так-то.

line.endswith(('.html', '.htm'))
>>668352
#300 #668352
>>668351
Угу сам недавно узнал эту фишку.
#301 #668353
Подкиньте идейку, каким образом можно запилить синхронизацию файлика между устройством андроид, компом и между другим компом. Не имея своего отдельного сервака.

Пока на ум приходит лишь гуглопочта, на ведроиде там как-то сделана синхронизация, но чет гугление на вскидку ничего не дало, и я хз, дают ли они такую возможность.
#302 #668355
>>668353
А причем тут питон? Всякие облачные диски эти.
>>668356
#303 #668356
>>668355
Я просто пишу программу на питоне и другие треды не читаю. Вдруг тут кто ковырялся с синхронизацией.
Таки да, про облачные диски забыл.
>>668357
#304 #668357
>>668356
Я сейчас yandex disk юзаю, удобен тем что можно по webdav монтировать диск, не надо специального клиента даже.
До этого был dropbox но почему-то перестал работать на мобиле, видимо у меня слишком старая версия андроид.
>>668358
#305 #668358
>>668357
Если допустить, что моим говноприложением будут пользоваться за бугром - заставлять их регистрироваться на яндексе не самый лучший выход.
Чет не могу найти статистику, какой самый популярный. Это дропбокс же?
>>668360
#306 #668360
>>668358
Если твоим приложением кто-то будет пользоваться мог бы хостинг купить за 90 рублей в месяц, а не заставлять пользователей где-то регистрироваться.
А так наверное дропбокс или google drive.
>>668362
#307 #668362
>>668360
Пока не уверен, что взлетит. И опыта во всем этом 0. Может, под премиум на ведро и куплю отдельный хостинг.
>>668364
#308 #668364
>>668362
Есть ещё беслпатные всякие штуки. Типа https://aws.amazon.com/free/ и многие хостеры дают месяц бесплатно.
#309 #668365
>>668353
Разве это не цель создания дропбокса? https://www.dropbox.com/help/4
>>668367
#310 #668367
>>668365
Через папку дропбокса это делать - квинтэссенция костылей. Слишком все зависит от того, есть ли на устройстве этот дропбокс и его расшаренная папка.
Нужно, грубо говоря, слать файлик куда-то, и скачивать каждый старт программы. Ничего лишнего не устанавливая.
Правда, если делать на отдельном хостинге - я пока хз, как аккуратно написать закачку\скачку файлика, + регистрацию. С имеющимися облачными дисками и API это явно дело нескольких строк, а не целого велосипеда.
>>668370>>668371
#311 #668370
>>668367
С одной стороны, велосипед - с другой навык.
Да и если тот же гугл ВНЕЗАПНО прикроект свой диск - мир не перевернется.
В любом случае, шишка пока не стоит сношаться с хостингом.
#312 #668371
>>668367

> как аккуратно написать закачку\скачку файлика+ регистрацию


Как как, по http. rest api можно запилить.
Или использовать готовые https://developers.google.com/drive/v2/reference/files/insert https://www.dropbox.com/developers/reference/api
>>668373
#313 #668373
>>668371
Вообще говоря, на гугл я смотрю как-то с недоверием, обязательно выкинут какую-нибудь хуйню типа полностью платного доступа к API переводчика.
>>668374>>668381
#314 #668374
>>668373
А где оно бесплатное? У bing`а но там ограничения всё равно конские.
>>668377
#315 #668377
>>668374
У яндекса с ограничениями еще. На личное пользование и гугл мог бы и оставить с ограничениями. На эксперименты и разработку хватило бы.
Одна радость - должны навернуться все приложения в ведромаркете аля СУПИРПЕРЕВОДЧИК НА 100500 ЯЗЫКОВ ДЛЯ РАБОТЫ НУЖЕН ИНТОРНЕТ.
>>668380
#316 #668380
>>668377
А с другой стороны, все модули на питон тоже полетели, которые использовали гуглопереводчик.
#317 #668381
>>668373
Лел. Так гуглодрайвом пользуется не приложение как таковое а пользователь посредством приложения. В отличие от того же переводчика.
>>668384
#318 #668384
>>668381
Но ведь если каждый пользователь посредством приложения задудосит гуглодиск, анально покарают же приложение, а не пользователей. Зря API-key, что ли.
>>668388>>668394
#319 #668388
>>668384
Кстати, с api-key проблема, особенно, если они платные. Как спрятать их от всяких хитрых пидорасов? Вытащить модуль же и расковырять, спиздить ключ и начать творить с ним всякое раз плюнуть же.
>>668390>>668396
#320 #668390
>>668388
Кстати да.
#321 #668394
>>668384

>задудосит гуглодиск


Снова лел. А причём тут собственно приложение? Если оно явно не сломалось и явно не дудосит от всех пользователей сразу, то дудосит только конкретный пользователь.
#322 #668396
>>668388
Платные апикеи должны использовать твои сервера. Клиент должен общаться и с гуглом и с твоим сервером одновременно и не содержать никакой секретной информации.
>>668399
#323 #668399
>>668396
Понял. Спасибо за помощь.
#324 #668404
>>668353
Фтп всяких серверов для андроида более чем
#325 #668493
10летстажа-бог, тебя часто говорят, что хотели бы потрогать твоего питона?
#326 #668501
Смотрю сейчас видео по Haskell. Как же я был слеп. Haskell на голову выше.
>>668526>>668652
43 Кб, 1366x768
#327 #668510
Что не так???
мимо-гуманитарий
>>668517>>668520
#328 #668517
>>668510
Нужно преобразовывать вводимое в число. Изначально там строки. Например
a = int(input('Введите число (а)'))
>>668521
#329 #668520
>>668510
Ну, то есть, '1', введенное через input - это не число (int), это строка (str).
52 Кб, 1366x768
#330 #668521
>>668517
проблема-то в 4-5 строках
>>668523
#331 #668523
>>668521
import math
>>668527
#332 #668526
>>668501
Питон охуенен тем, что накодино на нем дохуя и слепить скрипт пришедший тебе в голову 5 минут назад можно за 20 минут гугления и 5 минут ковыряния.
Когда все эти чудо-языки смогут предоставить ту же скорость - тогда да.
>>668625
#333 #668527
>>668523
я кажется сам понял, а как квадратный корень ставить?
>>668529
#334 #668529
>>668527
math.sqrt(.....)
65 Кб, 1366x768
#335 #668535
неполучаеццо!!!
>>668539
#336 #668539
>>668535
Вводи такие abc, чтобы корень не извлекался из отрицательного числа. 1, 7, 2, например.
>>668546
64 Кб, 1366x768
#337 #668546
>>668539
однако работает, а как теперь сделать, чтобы со всеми числами?
>>668554>>668668
#338 #668549
через if?
#340 #668607
INI-файлы нормально работают на виндоусах и маках?
>>668612
#341 #668612
>>668607
И если нет - какая есть ЧИТАБЕЛЬНАЯ кроссплатформенная альтернатива?
Только не предлагайте xml - это же пиздец.
>>668625
#342 #668625
>>668526
Вангую что это вопрос опыта онли. И вот вы говорите что в питоне батарейки, а они там клоны клонов по сто штук и нихуя полезного и нужного.

>>668612
yaml, cson, или на самом питоне. бери yaml
>>668633>>669119
#343 #668633
>>668625

>yaml, cson


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

ini и даже text куда лучше с этой задачей справляются, ИМХО. Если же не брать ориентир на тупого и ленивого пользователя - то вообще хз, зачем сохранять настройки в xml, yaml, cson - извращение прям какое-то, pickle или shelve куда лучше же.
>>668636>>668637
#344 #668636
>>668633
Ну так ты не суй туда никаких тегов. Словари, списки, строки, числа и всё.
>>668644
#345 #668637
>>668633
.py же. Так некоторые фреймворки делают.
>>668644
#346 #668644
>>668636
То есть, в yaml реально получить чистенький вид уровня:

fichaname : значение

?

>>668637
Главный критерий не проходит - это сохранение и запись в режиме онлайн.
>>668650>>668660
#347 #668650
>>668644
И все же, скрины смотрю, в yaml секции только через древа делаются?
Хуже по читабельности, чем

[categoriya]
parametr = zx

в INI, как по мне.
>>668651>>668659
#348 #668651
>>668650
+ не у всех есть подсветка, хуй отличишь имя переменной от значения, : слишком малозаметен.
>>668659
#349 #668652
>>668501

>hh.ru


>python - 631


>haskell - 11

>>669070
#350 #668659
>>668650
>>668651
Синдром утёнка итт. Ты что там читать собрался, содомит? Какая ещё читабельность? Секции можешь вообще комментариями разделить чтобы индента не было. Можешь индент сделать двухпробельный. Моноширинный шрифт поставь чтобы двоеточие видеть.
#351 #668660
>>668644
Что еще за режим онлайн? С каких пор IO потоки зависят от расширения файла?
>>668662>>668667
#352 #668662
>>668660

>режим онлайн


Наверняка рантайм
#353 #668667
>>668660
Я сначала подумал, что нельзя создать через open файл с раширением py. Можно.
Этот вариант и правда получше тегопараш по читабельности.

Вот только если не установлен интерпретатор - файл с раширением py не откроется сразу в блокноте. + его засосет в exe при сборке.
А exe не открываются на линуксе c тычка.

Хз, как на все эти стулья присесть.
>>668675
29 Кб, 509x140
#354 #668668
>>668546
Да ну, хули там.
http://ideone.com/3WrALs
#355 #668675
>>668667
На пинуксе они открываются с тычка, только надо chmod, прав им дать. Это как расширение сменить, только линуксу похуй расширение.

>получше тегопараш по читабельности


Кря-кря. Что за теги ты там нашёл для меня всё ещё загадка.

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


>файл с раширением py не откроется сразу в блокноте


Шо?

>его засосет в exe


Шо?
>>668687
#356 #668680
>>668353
bitsync и пр. - твое p2p разочарование
#357 #668687
>>668675

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


>>файл с раширением py не откроется сразу в блокноте



Допустим, есть windows. На нем нет питона. Как отреагирует на двойной щелчек по py?

>его засосет в exe


cx_freeze засовывает все, что указывается в import в exe. То есть, теряется возможность файл редактировать ручками. Разве что создавать файл настроек уже после первого запуска.
>>668691>>668693
#358 #668691
>>668687
Может, обмажешься json и перестанешь изобретать велосипеды?
>>668713
#359 #668693
>>668687
Не отреагирует конечно. И на линуксе если нет питона всё так же.

Короче я примерно понял что тебе надо. importlib смотри. Если не взлетит, то совсем крайний случай eval.
>>668708
#360 #668707
Посоны, вот я во фласке перед запуском аппа делаю with app.app_context(): чтобы вклинить в flask.g клиент БД. Только оно меня к хуям посылает потом '_AppCtxGlobals' object has no attribute

Как побороть?
#361 #668708
>>668693

>eval('os.system('rm -rf /')


Отличный способ выстрелить себе в ногу и не только.
>>668711
#362 #668711
>>668708
Как будто импортирование чем-то отличается. Можешь хоть в конфиг джанги вписать rm rf.
#363 #668713
>>668691

>json


Не открыть через двойной щелчок же.
>>668717>>668719
#364 #668717
>>668713
Я тебе могу так в твоей винде сделать, что у тебя даже .txt не откроется. Все эти связи можно менять что и чем открывать.
>>668729
#365 #668719
>>668713
А сохранять json в txt религия не позволяет? json.load все равно, какое расширение у файла, лишь бы там понятный парсеру текст был.
#366 #668729
>>668717
Типичная домохозяйка боится дальше рабочего стола зайти, кто менять-то будет? Не буду же я ради этого срать в систему своими ключами реестра.
>>668736
#367 #668736
>>668729
Типичная домохозяйка может только одноклассники открывать и, дай бог, компьютер выключить. Ты реально думаешь что твоё поделие будут использовать домохозяйки? Тем кому надо будет, они найдут способ открыть конфиг и поправить его.
>>668742
#368 #668742
>>668736
Конечно, у меня даже есть парочка в зоне видимости.
Про то, что им не понадобится лезть в конфиги - валидный аргумент, конечно.
И все же, если INI такое устаревшее и ненужное говно, почему его используют все игры, например?
>>668755>>668761
#369 #668755
>>668742
Бля, да ты даун что ли? Если ты волнуешься за пользователей, то сделай gui настройку.
#370 #668760
Анон, нужна помощь. Начинаю изучать сей чудесный язык, но на условной инструкции залип. Есть задание: вывести элементы списка с четным индексом. Знаю, что можно решить через range(0,len[Array],2), но как сделать через иф? if i//2==0 выводит хуйню какую- то.
>>668774>>668777
#371 #668761
>>668742
INI имеют легко достижимый потолок. Это dict по сути, строка->строка. Ну ладно, секции, но это всё.

С ямлом тебе например не придётся кастовать каждый чих в int/float/bool. И вложенности любые, и списки, и всё что душе угодно. Я тебе уже говорил что его можно как ини держать

key: value
key: value
key: value
key: value

Будет та же хуйня.

Хуй знает почему какие-то там игры используют ини. Бля, я наверное раз или два в жизни правил конфиги играм. И чессказать мне похуй был формат, просто по аналогии заполняешь и всё. Надо ини - бери ини, хуле ты до нас-то доебался? Спросил конфиги как делать чтобы современно и не xml, тебе подсказали, всё. Нахуй ты тут доказываешь что ини это заебись?
>>668785>>668788
#372 #668774
>>668760
Берёшь ipython и вводишь
1//2
2//2
3//2
4//2
5//2
Сразу всё поймёшь.
>>668782
#373 #668777
>>668760
[v for i, v in enumerate([2, 3, 5, 7, 9, 11]) if i % 2]
#374 #668782
>>668774
блять, я идиот. Спасибо
#375 #668785
>>668761
Я не доказываю. Просто мысли вслух.
#376 #668788
>>668761
Пожалуй, ты меня убедил с yaml и txt.
#377 #668899
>>668302
Спасибо, сейчас попробую.
15 Кб, 1440x864
#378 #668909
>>668302
Спасибо, бро. Ты и документация мне помогли.
>>669537
#379 #668934
У меня в приложении при запуске генерится куча файлов с расширением .pyc и каталоги _pycache_. Это норма? Так и должно быть? Нормально их держать в репозитории?
>>668936>>668937
#380 #668936
>>668934
Норма, но в репозитории держать не стоит. Добавь это говно в .gitignore
#381 #668937
>>668934
Нормально, но держать в репозитории их не надо. Гугли gitignore. На гитхабе есть файлы для питона уже созданные.
#382 #669064
Читаб из файла данные через open('file.png', 'rb').read(). Затем перекодирую в строку через base64.encodestring, но на выходе тип данных - всё равно байты. Пробовал и через base64.b64_encode, всё равно тип результата - байты, а не строка. Где ошибка? Третий питон.
>>669085
240 Кб, 512x343
#383 #669070
>>668652

Меньше конкурентов!
>>669078
#384 #669078
>>669070

>hh.ru


>python 9893 resumes, 631 vacancies, 15.7 per vacancy


>haskell 304 resumes, 11 vacancies, 27.6 per vacancy

#385 #669085
>>669064
Код покажи.
>>669117
#386 #669117
>>669085
file = open('file.png', 'rb').read()
text = base64.encodestring(file)
print(type(text))


Возвращает byte
#387 #669119
>>668625
Ну давай мне кабанчиком нотепад экзе на чистых плюсах профессионала накатать уговори
#388 #669309
Как обновиться до python3 на OS X?
Нет разницы между скачиванием .pkg с сайта питона или обновлением через homebrew?
#389 #669312
>>669117
Так в документации и написано, что возвращает bytes, не?
Encode the bytes-like object s, which can contain arbitrary binary data, and return bytes
#390 #669326
>>669117
В общем, делай bytes.decode(text) и всё должно получиться.
#391 #669327
>>669117
base64.b64encode
22 Кб, 1440x864
13 Кб, 1440x864
10 Кб, 1440x864
#392 #669375
Опять выхожу на связь.

Как в PyQt в QGridLayout сделать так, чтобы виджеты располагались слево направо, без всяких растяжений на всю область, независимо от количества виджетов?
Чтобы в моем случае все было по ширине как на первом пике.
>>669397
#393 #669379
Нужно сделать небольшой сайт из нескольких страничек. Тупо общий шаблон и для разных страниц разное наполнение. Главная и ссылки на другие страницы. Что для этого заюзать? Джанго с отключенной админкой нормально будет? Нет, не надо мне предлагать пхп.
>>669380
#394 #669380
>>669379
Ну взгляни на джанго flatpages.
#395 #669397
>>669375
Плохой вопрос. В гриде ты сам задаёшь размерность и веса по горизонтали и вертикали. Что ты имеешь ввиду?
>>669406
21 Кб, 1440x864
14 Кб, 1440x864
#396 #669406
>>669397
Я уже отказался от грида.

Опишу ситуацию.

В приложении есть несколько вкладок. На каждой - просто таблица, состоящая из QLabel + QLineEdit. Но на разных вкладках их разное количество. Хочу сделать так, чтобы они все ровно выглядели.

Пикрилейтед почти похоже на правду, только ширина инпутов разная и ширина колонок тоже, но почти незаметно. В идеале хотелось бы, чтобы это все было одной ширины, красиво.
#397 #669419
>>669406
Может лучше сделать таблицей? QLineEdit будет вылезать по дабл клику. Так проще с точки зрения программирования и проще пользователю (легче искать).
>>669425
#398 #669425
>>669419
Ну не, лишние клики ни к чему. Тем более не совсем представляю как это. Можешь привести пример из других программ?
>>669655
#399 #669430
>>669406

Такие вещи во много раз проще (и дешевле) делать на HTML и CSS.
>>669580
#400 #669431
Пишу установщик. Нужно при установке приложения создать директорию в домашнем каталоге и ссылку в /usr/local/bin. Проблема в том, что для записи в /usr/local/bin нужен рут, но при sudo домашний каталог определяется как /root, а не /home/name. Как это обойти? Можно ли узнать домашний каталог юзера из под sudo или записать файл в /usr/local/bin без рута?
>>669441
#401 #669441
>>669431
Решил! os.environ["SUDO_USER"] возвращает имя пользователя.
>>669461
#402 #669461
>>669441

>директорию в домашнем каталоге и ссылку в /usr/local/bin



Тебе оно точно нужно глобально, чтобы все юзеры могли пользоваться? Можно жи PATH юзеру дописать, прямо в его bash_profile, и никаких судо не требовать.

Я вот кстати держу глобальный npm для всяких coffee, babel, etc, но что-то сейчас понимаю что оно нужно только моему пользователю.
#403 #669536
Как обновиться до python3 на OS X?
Нет разницы между скачиванием .pkg с сайта питона или обновлением через homebrew?
>>669543
#404 #669537
#405 #669543
>>669536
обновиться помоему нельзя, иначе соснешь.
Можно поставить его паралельно
>>669556
#406 #669556
>>669543

> паралельно


А какие камни подводные?
>>669959
#407 #669580
>>669430
Программа для врачей, не у всех есть интернет. Если бы я был is адептом, то конечно сделал бы все на ноджс. Но я питонист, поэтому вот
#408 #669592
>>669406
true flat designe
>>669604
#409 #669604
>>669592
К чему ты это?
#410 #669655
>>669425
Как в excel. Или делай пустые виджеты.
#411 #669677
Нужно организовать контроль некоторых процессов в виндовсе. Точнее перехват данных которые проскакивают в этих процессах. С помощью каких модулей это можно организовать на питоне?
>>669707>>669710
#412 #669707
>>669677
Ну же хакерюги, подскажите.
#413 #669710
>>669677
win api, другого нихуя и быть не может, как я понимаю
>>670035
#414 #669742
Анон, объясни что такое свойство класса и зачем оно нужно? Я про @property
#415 #669747
>>669742
Чтобы заманить джавистов
#416 #669752
>>669742
@ - это декоратор
#417 #669764
>>669742
Про себя я называю свойства "умными атрибутами". Суть в том что при обращении к объекту, проперть выглядит просто как переменная. Можно даже настроить так что ей можно будет выполнять присваивание. Внутри же у тебя там какой-то код. Например ты создал объект который принял число обозначающее количество секунд. Объект можно наделить свойством weeks, days чтобы при обращении к ним возвращалось это количество секунд, переведенное в соответствующие единицы.
>>669960
#418 #669765
>>669742
Скорее всего какая-то хуёвина для псевдоограничения доступа к атрибутам объекта. Мол, объявляешь сеттеры, геттеры в одном месте, а затем только ими и пользуешься. Хуй знает зачем.
#419 #669770
>>665294 (OP)
Чет поискал работку на апворке по скрапингу
там такая хуйня вида

>перебашить весь гуглпоиск


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

Что за хуйня? сложнаа сложнааа блять
#420 #669793
>>669770

> Работать не хочу


> Денег хочу

>>669796
#421 #669796
>>669793
пошел нахуй
>>669862
#422 #669799
>>669770
А ты как думал, деньги так просто зарабатываются?!
>>669806
#423 #669806
>>669799
Это же все сложна для 50 баксов. Лал
>>669845
#424 #669845
>>669806
Да иди пивасик дуй с пацанами, чо ты как лох в мониторы пялишься, чухан блять.
>>669850>>669859
#425 #669850
>>669845
Я так и знал, что питон учат только школьники и в треде этом сидят такие же.
#426 #669857
>>669850
Ну не тралируй плис.
#427 #669859
>>669845
Пояснить не можешь и пытаешься съехать на сарказме.
Впрочем, чего еще ожидать от питонщиков на дваче.
#428 #669862
>>669796
Какое совпадение. Я буквально вчера твоей мамке точно так же говорил.
>>669863
#429 #669863
>>669862
Еще одно доказательство вот этого >>669850
>>669867
#430 #669867
>>669863
Еще раз напиши.
#431 #669953
Анон - помогай: как выполнить ddl в СУБД?
#432 #669959
>>669556

>А какие камни подводные?


У меня не было никаких.
Но я нуб и хуйло, задачи и приемы у меня были соответсвующие
#433 #669960
>>669764
А чем этот пример отличается просто от метода?
>>669965
#434 #669964
>>669770
Мне кажется это либо достаточно тривиально, если можно просто собирать разную хуйню "похожую" на контакты, ну там емайлы/телефоны в изрядном отрыве от контекста. Но тогда выход будет изрядно бессмысленный.
Либо нужно писать какойто блять скайнет и нести отсвественность перед человечеством.
#435 #669965
>>669960
тем что не надо писать скобочки
#436 #669971
>>669850
Об этом прямо написано в шапке. Ты удивлен?
>>669977
#437 #669977
>>669971
Честно? Да, удивлен. Я не читал шапок тредов и ориентировался только на картинки.
>>670046
#438 #669999
Анон, можно ли релизовать примитивный п2п чатик в консоли без threading'ов?
Не могу понять как все это устроить.
>>670003>>670004
#439 #670003
>>669999
asyncio
#440 #670004
>>669999
asyncio
>>670007
144 Кб, 353x326
#441 #670007
>>670028
#442 #670028
>>670007
классная картинка
#443 #670034
Я не понел, pyqt бесплатный или нет? Точнее, что такое в "платной" версии?
>>670037>>670186
#444 #670035
>>669710
Мне нужен однозначный и четкий ответ.!
#445 #670037
>>670034
Это россия, чувак. Здесь Pyqt бесплатный.
>>670102
#446 #670046
>>669977
На второй картинке изображен школьник, учащий питон, а на первой - домохозяйка.
>>670051
#447 #670048
Поясните за asyncio. Это просто асинхронность для всего или специализированный веб фреймворк типа джанго?
>>670100
#448 #670051
>>670046
В прошлых тредах такого не было.
Там была змея в очках на белом фоне с книгой дайв ин пайтон или тип того.
Ну змею точно помню.
#449 #670087
Двач!
Что эта за хуйня http://pastebin.com/raw/mYHpS1hE ,
Какой-то пидр залогинился на мой сервер и запустил эту поеботу.
Памаги
>>670108
#450 #670100
>>670048
Первое.
#451 #670102
#452 #670108
>>670087
Поздравляю, у вас ANSI-C и дудос кого-то с твоего сервака.
>>670112>>670444
#453 #670112
>>670108
А твой ип, я полагаю, 190.93.251.50
>>670444
#454 #670186
>>670034
Бесплатный пока не собираешься продавать свое говноподели
>>670212
#455 #670212
>>670186
Ну и отличненько, мне просто на диплом
#456 #670214
Здарова котаны. Во время практики я спросил препода.
-Стоит ли учить питон после дэльфи?
-Вам до питона как раку до китая. Этот язык слишком гениален. Т.к. он включает овердохуя всего.
-А тогда почему его так рекомендуют в интернетах?
-Тут уже решает маркетинг от гугла. И вообще начинайте с языков си
Стоит ли слушать своего препода и идти учить языки си или ослушаться и пойти учить питон?
377 Кб, 1024x683
#457 #670221
>>670214

>питон


>маркетинг от гугла

>>670225
#458 #670225
>>670221
Выеби препода в сракотан и скажи, что это маркетинг от двача.
#459 #670229
>>670214
Выучить питон с нуля до нубоуровня реально за 1 месяц
Выучить плюсы с нуля до нубоуровня реально за 2 месяца
Неужели ты так охуительно занятой студент, что не можешь потратить меньше 3 месяцев что бы осилить оба языка и самостоятельно сделать выбор?
Питон - для велосипедистов которым похуй как оно чё крутится там внутри абы крутилось. Нет, конечно пропаганда и пеп8 учат другому но судя по коду всем похуй.
Плюсы - для задротов любящих понимать чё происходит и как именно оно происходит
И то, и другое хорошо для своих задач. Задачи эти, как правило, совершенно разные.
#461 #670253
>>670252
Блять не туда, соре
#462 #670257
Кто-нибудь вообще пробовал собрать pygraphviz под винду и 3-й питон? Он вообще у кого-нибуд из вас когда-нибудь работал? Пиздеееееееец какой-то. Я охуеваю в конец.

Попробовал установить как обычно, через pip. Не может собрать, ибо не находит файл "cgraph.h".
Ладно, гугление привело к тому, что мне ещё и обычный graphviz нужно ставить. Как отдельное приложение, блядь. С замусориванием диска всякой хуйнёй. Просто потому, что эти блядь идиоты не додумались, блядь, что можно, блядь, засунуть все исходники в папочку с дистрибутивом пакета. Ненавижу, блядь.
Ладно, скрепя сердце я поставил этот ненужный мусор на свой ЖД(буду я ещё место на ССД под какую-то хуету отдавать, ага, щас, он у меня для хороших библиотек). Поставил флаги компиляции пакета, чтобы учитывал папки из этой мусоробиблиотеки. И конечно, блядь. Undefined reference при сборке, бляль. PyIO_BaseType не находит, блядь.
Погуглил, народ нихуя не знает, что с этим делать. Не знает, что это за зверь. Пиздец какой-то, блядь. Просмотрел исходник, этот PyIO_BaseType используется только в паре функций для проверки на ошибку. Закомментил эти строки нахуй. Собралось.
Подключаю либу - DLL Not Found. Охуеть просто, приехали. Прописал в PATH путь к этому убогому мусору по имени GraphViz. Вроде прошло.
Попытался нарисовать граф - а вот хуй мне! В либе ещё и ошибка и нужная функция не работает по причине вроде "No Key". Хуй знает, я уже не помню.

Вот серьёзно, блядь, хоть где-нибудь в мире питона ещё есть подобное убожество?
>>670295>>671200
#463 #670289
>>670214
Какой курс?
#464 #670295
>>670257
Можешь попробовать прекомпиленый пакет поставить. http://www.lfd.uci.edu/~gohlke/pythonlibs/#pygraphviz
Я так впаивал склконнект, для 3.5, который становиться не хотел.
>>670387
#465 #670353
>>670214
Питон лишним не будет, даже для разработки на C++.
Наебашить каких-нибудь тестов побыстрому. Собрать базу для тех же тестов. Проанализировать данные. Не всегда есть свой ручной DevOps, знаешь ли.
#466 #670387
>>670295
Спасибо, попробую. А вообще, какие альтернативы есть для pygraphviz? Пробовал networkx, но он не умеет рисовать петли. А петли мне критически важны.
>>670439
#467 #670439
>>670387
mathplotlib не оно?
>>670459
#468 #670444
>>670108
Да пиздец, постоянно приходят хостеру жалобы на Ддос-атаки с наши серверов.
Как быть в данной ситуации?

>>670112
Нет. Может, это то хуйло, которое ддосит?
>>670985>>670991
#469 #670459
>>670439
Matplotlib же не умеет графы рисовать автоматически.
Боги парса #470 #670862
Парсю один пдф с расписанием уроков. Как и положенно при парсе пдф все получается не очень гладко.

Основная проблема в том, что полей получается переменное количество а разбития на строки нет. Хотя структура есть и ее таки можно будут вычленить регулярным выражением.
Вопрос как в это выражение передавать куски этой строки.
Настоящий пример строки в https://dpaste.de/CZYu но упрощенно:
aaXabXabcX, где X это некий маркер конца строки(но понять что он конец строки можно будет только в регулярном выражении). В реальном примере это поле "Instructor" + переменное количество имен, затем начинается новая строка.
Если я правильно понимаю то regex если ему дать всю строку вычленит только первый случай и забъет дальше хуй.
>>671804
#471 #670878
Пилять. Это норма в Qt, что кнопка, будучи нажатой, посылает сигнал released(), одновременно с pressed()? Или это заебы PyQt? Разве этот сигнал не должен посылаться, только когда кнопка отжимается?
#472 #670880
>>670878
Посылается причем, когда отжимается кнопка мышки после клика по кнопке.
#473 #670881
>>670878
Ах да, button.setCheckable(True) стоит. По идее сигнал и должен слаться без этой строчки, потому что кнопка сразу отжимается. Но здесь она остается нажатой.
#474 #670897
>>670878
Таки норма.
#475 #670985
>>670444
Скорее всего это цель дудоса. Алсо, немношк проиграл с кода.
Вообще, это нескомпилированный код, удали нахуй сишные компиляторы с сервера и запрети их установку, лол.
>>671191
#476 #670991
>>670444
Алсо, ради интереса можешь поискать на сервере файл a.out, это если он не переименовывал его в компиляторе, или не ебу какой, если переименовал.
>>671191
13 Кб, 534x454
#477 #670994
Kek
>>671009
#478 #671009
>>670994
CloudFlare ДУДОСИТ САЙТЫ А ПОТОМ ПРОДАЁТ ЗАЩИТУ ОТ ДУДОСА! ЗАГОВОР!
>>671091
#479 #671062
>>670878
Ты заебал. Прочти уже документацию.
#480 #671070
Киньте, пожалуйста, пикчу с анимедевкой, которая прыгает через лого педона.
>>671785
#481 #671091
>>671009
Ну тащемта клоудфлару дудосили.
>>671121
#482 #671093
>>665294 (OP)
Надо реализовать фичу. При загрузке файлов на джангу, она пропускает имена файлов через хеш и уже под такими хешеами их сохраняет. Нужно чтобы можно было скачать файл под оригинальным именем под которым он был загружен.
>>671168
92 Кб, 984x927
197 Кб, 1144x451
Не могу осилить celery #483 #671105
Celery(c redis в качестве брокера) периодически "отваливается" и перестает выполнять задачи, т.е. они добавляются в очередь которая постоянно растет, но воркер не выпоняет их, помогает только перезапуск celeryd, что с этим делать?
>>671168>>672011
#484 #671121
>>671091
САМИ СЕБЯ ДЛЯ ОТВОДА ГЛАЗ!
c: truth
#485 #671132
>>667289
Не понял. По-моему фишка в том, что __name__ объявлен при запуске скрипта по дефолту.
#486 #671168
>>671093
Какие хеши, норкоман? Джанга использует оригинальное имя, затем только дописывает к нему рандомы если такой файл уже есть.

>>671105
Проблема либо в селери (что маловероятно), либо в твоём коде воркера (что очень вероятно), либо в редисе (что маловероятно), либо в конфигах всего вышеперечисленного (что очень вероятно).
>>671183
#487 #671183
>>671168
Перефразирую - на текущем проекте джанга настроена так что принудительно хеширует имена файлов перед их сохранением.
>>671184
#488 #671184
>>671183
Ну допустим. Раздаёшь ты их всё равно через проксю. То есть тебе нужно где-то сохранить маппинг хеш-имяфайла и как-то заставить проксю это съесть. Насколько помню имя файла при скачивании задаётся хедером.
>>671196
#489 #671191
>>670985
>>670991
Поздно, блять. Хостер заблокировал

Как превентировать такое? Пароль на сервере вроде не был "123querty"? Хотя рута не отключал.
fail2ban и SSH-keys без пароля для рута помогут ?
>>671197
#490 #671196
>>671184
Хорошо, но мне все равно интересно как это решается по-нормальному.
"По-плохому" я это решил так: в проекте файл хранится в виде отдельной модели (это уже так и было) в которую записывается в т.ч. и оригинальное имя. Соответственно я просто создаю вьюху которая получает запрос с айдишником нужного файла и отдает его.
>>671268
#491 #671197
>>671191
Ты уверен что пароль брутфорсом подобрали? У тебя там наверное древний штабильный дебиан ещё крутился.

Был у меня такой случай, правда сервант я принял уже с кучей говна, вина не моя. Оказалось что там был оче старый ПЭХЭПЭМАЙАДМИН и в инете любой шкальник мог нагуглить длинный список уязвимостей. Укосил нахуй это говно, сменил все пароли, проверил файлы, и как рукой сняло.

Другой был случай, я обосрался обнаружив в рутхоуме чужой перлоскрипт. Правда потом приглянулся, это проверка на уязвимость была. Глянул в код, у меня даже софта такого не стояло, который там проверяли, успокоился, понял что это админы хостинга проверяли.
>>671224>>671247
#492 #671200
>>670257
ставь бубунту второй осью и нет проблем с пакетами, через пип и пакетный менеджер можно загрузить дохуя и больше.
#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 ?
64 Кб, 1417x365
#494 #671224
>>671197

> Ты уверен что пароль брутфорсом подобрали?


Нет.

> У тебя там наверное древний штабильный дебиан ещё крутился.


Да.

Мне ещё повезло что я заметил это. Он видимо забыл потереть историю. Сука, блядь!
>>671979
#495 #671247
>>671197
Была такая же хуйня, только там меня сломали через редис без пароля.
#496 #671250
>>671212
Это че троленк такой?
>>671253
#497 #671253
>>671250
Нет
#498 #671258
>>671212
Открываешь учебник по питону любой
Хуяришь по нему пока не поймёшь
.....
Молодец
>>671259
#499 #671259
>>671258
Но эта задачка и так по учебнику же
>>671262
#500 #671262
>>671259
Кодекадеми, Доусон, Лутц, Укус Питона, Синк пайтон - начни с этих, не выёбывайся
>>671267
#501 #671267
>>671262

>Укус Питона


Зис.
#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"';

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

И такое решение кстати даже круче чем дефолт джанги, так как позволяет повторение имён файлов.
#503 #671549
Подскажите ньюфагу, что можно написать на Питоне.
Хочу видеть перед собой результат, который можно пощупать.
Заебали уже эти фибоначи и прочая абстрактная еботня.
В голову ничего не лезет, т.к. сижу болею.
Может есть какая-то книжка, с интересными проджектами-задачками для ньюфагов, ну или читщит какой-то?

Спасибо.
>>671580>>671582
#505 #671581
>>671212
Бамп же
>>671631
#506 #671582
>>671549
Многопоточный скачиватель вебмок со всего двача.
>>671597
#507 #671597
>>671582
Кстати который день собираюсь запилить
>>671611>>671991
#508 #671611
>>671597
Где же ты раньше был? Пилил бы вместе с аноном.
#509 #671631
>>671635
#510 #671635
>>671631
В учебнике была не полная задача ?
Я всё равно вижу не понятные мне команды
>>671651>>671657
#511 #671644
Поясните пожалуйста какую книгу по питону читать, чтобы быстро из практически нуфага въехать в питон и программирование в целом. Этих книг по питону как грязи, а хочется выбрать самую годную и краткую, а не роман на 1к страниц.
#512 #671649
>>671644
Кодекадеми -> укус питона

Читайте тред, заебали
#513 #671651
>>671635
Это рабочий скрипт на основе задачи из укуса. Не знаю, почему у тебя с ней сложности.
#515 #671657
>>671644
To FAQ.
>>671635
Жопой читаешь. Про import в главе про модули написано. Дальше в гугл или в Лутца залезь.
#516 #671659
>>671652
Ни в коем случае не шкварься об это говно
Высер уровня Карнеги и всяких коучеров нлп только с пионом но без объяснений толком только кудкудахи ВОТ Я ТАК ДЕЛАЮ И ТЫ ДЕЛАЙ
>>671672
#517 #671672
>>671659
Но Карнеги же более-менее толковые вещи писал. Про отношение к людям, про нужность эмпатии, "пытаясь достать мёд не опрокинь весь улей".
>>671679
#518 #671679
>>671672
Ну заебись, а тут такого не будет. Только кудкудахи обиженки-автора.
>>671682
#519 #671682
>>671679
А что там не так в этой хардвее? Запросили же, посложнее и побыстрее, значит подразумевается что разжёвывать и класть в рот пациенту не надо.
7 Кб, 1649x119
#520 #671690
Опять выхожу на связь.
Как в pyqt5 просто добавить возможность скролла к QHBoxLayout? И самое главное, чтобы это скролл никак себя кроме скролле не проявлял. А то я добавляю QScrollArea и полуаются какие-то гигантские отступы повсюду, невозможно работать!
#521 #671694
>>671690
Подозреваю что твой горизонтальный бокс ужимается до ширины окна, а когда ты добавляешь туда скролл, он растягивается до нормальной ширины по контенту. Скорее всего NIQAQUE это нормально не решить без редизайна UI.
>>671722
34 Кб, 400x300
#522 #671722
>>671694
Окей, будем искать. Спасибо!
#523 #671729
>>666919
Можешь ещё черзе sys.path.append("Folder/")
#524 #671732
>>671690
подергай всякие size policy там
#525 #671749
Хелп ми плиаз. Прошел начальный курс по питону от MIT хз что теперь дальше изучать (сижу на код академи от этого профит есть?). Вот нашел сборник книг, курсов но какой выбрать? http://tproger.ru/articles/free-programming-books/#python
>>671818
#526 #671785
>>671070
Алё, блять.
>>672011
#527 #671804
>>670862
ПДФ то еще говно для парсинга если он изначально криво сформирован. С ним лучше через OCR работать.
>>671841
#528 #671818
>>671749
Я тоже нихуя не понимаю, прочитал книги типа доусона, дайв инту питон и т.д. А что дальше делать то?
#529 #671841
>>671804
Да не, там не все так плохо.
Вопрос скорее был по приемам регурярных выражений.
Более менее решил уже.
#530 #671845
Интересно, есть еще люди в мире, котрые в данный отрезок времени пишут десктопное приложение на питоне? А именно на PyQt? А именно на PyQt5?
>>671892
#531 #671877
Подскажите неучу что за библиотека operator, что она делает?

sorted_x = sorted(dict_name.items(), key=operator.itemgetter(1))
print(sorted_x)

Вот здесь допустим.
>>671889
#533 #671892
>>671845
Делал несколько фриланс заказов на python3 + PyQt5 (один даже с quamash + asyncio). Сегодня, кстати, фичи добавлял по просьбе заказчика.
#534 #671893
>>671690
Не совсем понял что ты хочешь, но если уж сильно что-то экзотическое, то лучше делать на qml.
#536 #671979
>>671224

>memes.txt

#538 #672011
>>671785
Ну тред-то читай хотя бы -> >>671105
18 Кб, 630x630
#539 #677139
>>665294 (OP)
Есть сайт с которого мне нужно скачать страницы в виде хтмл, но они весят много
У сайта есть мобильная версия, но только в виде приложений на ios/android. Как можно залезть туда и начать скачивать оттуда?
Советуют указать мобильного клиента в хедере, но я не знаю что это такое и как это делать
Посоветуете что-то?
773 Кб, 977x602
#540 #680088
Привет всем, скачал ваш путхон, но чета когда запустил произошел пикрилейтед казус (у меня 32-битный проц, качал для него естессна). Если что, я полный дебил в ваших компутерах (примерно на уровне вашей мамы).
>>680468
#541 #680113
Сосоны. Я не могу в путон совсем. Я на перле обычно пишу, но там нет модулей для работы с PE. http://pastebin.com/u4RpJdhV ЧЯДНТ?
#542 #680468
>>680088
Скотина тупорылая, там же написано, что тебе нужен минимум сервис пак 1 и другие какие-то апдейты, которые питухон использует. Обнови систему, поставь апдейты доступные, а потом уже ставь питухон. Есть ссылка на лог файл, попробуй кликнуть и прочесть, что там написано.
#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/Все доски