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

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
#2 #496991
>>496987
Шляпа какая-то, а не шапка.
#3 #496994
>>496991
Нормальная шапка. Модная, молодежная. Кульхацкерская.
50 Кб, 1440x900
#4 #497000
такой вопрос,когда запускаю в винде програмку которую писал,то консолька сразу закрывается(windows),поставил input() в конце,не помогло,хотя в первой програмке сначало работоло
#5 #497002
>>497000
Ты скомпилировал свой скрипт? Попробуй запустить через cmd.
#6 #497003
>>497000
Запускай из терминала/idle
Возьми редактор с терминалом
Возьми ОС с нормальным терминалом

Юзать в этих целях input() - костыль.
#7 #497005
>>496994
Нет, шляпа это.
#8 #497006
>>497005
Ну ты прост не модный.
#9 #497007
>>496987
Так, блядь, подожжи. Почему на ОП-пике сишный с логотипом питона?
#10 #497008
>>497007
сишный код

самопочин
#11 #497009
>>497007
оооооооооооооо...
ОП, это самозашквар :3
#12 #497012
>>497007
Дак а на чём питон написан, а? А? Надо зреть в корень.
#13 #497013
>>497002
cmd было достаточно,спасибо
#14 #497014
>>497006
Ты просто тупой, не видишь очевидного.
#15 #497036
>>497012
Смотря какой питон. Притянуто за уши. Слив защитан
#16 #497257
Где найти py.exe, который нужен, чтобы запускать скрипты из разных версий питон? Как работает описывается вроде тут - https://www.python.org/dev/peps/pep-0397/ , но чего-то я так и не допёр, откуда мне его взять. Просёрчил папки со вторым и третьим питоном - никаких py.exe не замечено.
#17 #497293
>>497257
Ну и саси!
#18 #497300
>>497257
В глаза ебешься?

>The launcher is installed into the Windows directory

#19 #497313
>>496987
Эй, петуханы, как вы думаете, почему мне хочется раскроить череп тому, кто писал эту документацию?
https://docs.python.org/2/reference/index.html
Я блядь ожидал референс синтаксиса языка, а не абстрактное описание его BNF-формы блжад. Только не говорите, что синтаксис описан в туторе...
#20 #497347
>>497313
А ты скажи нам, какого хуя ты сидишь на 2 питоне? Пиздуй на 3 версию и не еби мозги!
#21 #497356
>>497313

>This reference manual describes the syntax and “core semantics” of the language


Читай туториал и СТЛ.
41 Кб, 574x163
#22 #497413
Посоны, застрял на очередной задачке. Почему pagename не читаеться в четвертой строке, выкидывает ошибку

import socket
pagename = raw_input("Enter page URL: ")
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.connect(('pagename', 80))
sock.send('GET pagename HTTP/1.0\n\n')
#23 #497416
>>497413

>'pagename'


Зачем кавычки поставил? Он у тебя коннектится не к сайту "huita.com", которое ты вбил, а к сайту "pagename".

>http://


Без этого адрес вводи.
185 Кб, 956x720
#24 #497615
Антош, помоги. Пишу малюсенькое приложение на Flask и не могу въебать, каким образом добавить цикл, который будет работать на фоне. Нужен чисто чтобы каждые n секунд вызывал команду по os.system.
Через threading, после запуска самого аппа, какого-то хуя спавнится второй процесс, а Celery+Redis - ебаный оверкилл. мне и без них говна в виде гуникорна и супервизора хватает Какого черта, анон?
#25 #497645
Прохожу задачки на checkio, попутно читая Лутца, и охуеваю со своей ущербности. Такие легкие задачки не могу решить, а ведь это только элементари часть. Сейчас пол часа бился над задачей с панграммой, начал гуглить, а решение-то в одну, блять, строчку. Просто вычесть друг из преобразованные к множествам строки и узнать пустое ли множество результатов. А я там цикли с кучей проверок городил. Похоже я слишком аутист для программирования.
#26 #497646
>>497645
Нюфак? Хуярь дальше, иногда нюфагу сложно понять как надо мыслить, со временем придрочишься.

>пол часа


Ну все, пиздец теперь.
#27 #497652
>>497645

>попутно читая Лутца


Зачем?
#28 #497654
>>497645
Просто иди дальше, скоро освоишься. И да, количество строк никогда не говорит о хоть о чём-то (кроме того, что в меньшем количестве кода обычно меньше ошибок, но это не к месту)
38 Кб, 453x604
#29 #497658
>>497645
Мне там тоже нехило припекает с этого. Хотя и задачи в elementary лёгкие, но когда смотришь другие решения создаётся ощущение что вот прямо кто-то выебнуться хочет, то блять всё в одну строку лямбдой-функцией захерачит, то импортирует всякие модули чтобы в итоге уложиться в 3 строки. Нету нормального и лаконичного решения в которым бы разобрался каждый, нет же, надо написать неудобный код в котором ньюфаг не разберётся.
#30 #497662
Вы нытики какие-то. Не уважаю. Такими однострочными решениями люди выебываются, как успешными фоточками с дакфейсами в вк. IRL такое редко кто пишет, и еще реже с первого раза. IRL наоборот, у всех по-дефолту говнокод.
#31 #497675
>>497658
Обычно они сначала пишут говнорешение, а потом уже как бы ВЫЕБНУТЬСЯ чтобы все охуели как они могут. В целом, всё как обычно же.
Сначала задачу решают ВЛОБ, а потом оптимизируют.
#32 #497691
>>497615

> каждые n секунд вызывал команду по os.system.


cron
#33 #497693
>>497675

> использовать готовые модули вместо ржавого велосипеда


> map, reduce, for вместо трёхэтажной i = 0; while i<n: i += 1 "IndexError: list index out of range" не читаемой лапши


> ВЫЕБНУТЬСЯ

#34 #497706
>>497693
Я в душе неебу о чем там задачи, так что я даже не понимаю что ты мне говоришь и чего от меня хочешь, лол. Просто говорю как всякое олимпиадное программирование дрочат обычно, ну схему.
Учат понимать как решать задачи ВЛОБ и быстро-быстро осознавая каждый шаг, а потом уже как сделать это нормально.
#35 #497743
>>497706
В том-то и дело, что решение ВЛОБ, что обычно применяется на олимпиадках на чекио не котируется вовсе. Такое решение будет всегда на дне.
#36 #497759
>>497743
Ты не совсем понимаешь как на олимпиадках делают. Там учат разбирать ВЛОБ, а потом уже делать оптимизировано, иначе твои О(н) в хуевой степени никого не удивят и будешь на дне.
Поэтому после понимания задачи учат её делать ПРАВИЛЬНО. Кто тебе мешает тоже самое делать на чекио? Аллах?
Все также делают, на всех подобных сайтах.
#37 #497828
>>497759
На чекио сложность алгоритма не котируется. Есть несколько задач, где с неправильным™ алгоритмом ты будешь ждать вечность, но это скорее исключение. Чекио — олимпиадка не по скорости и памяти, а по краткости и "красоте" кода.
#38 #497846
>>496987
Я вот все равно не понимаю какие задачи выполняет питон не смотря на гайд, я привык что для скриптинга и автоматизации простых рутинных задач
#39 #497925
Что надо обязательно почитать из доков к языку?
https://docs.python.org/2/index.html
#40 #497937
>>497925

>2


>2015


Когда ж вы вымрите, динозавры.
#41 #497939
>>497925
Пиздец, да откуда вы лезете со своими "какие основы обязательно знать" и прочей хернёй - берите и идите кодить, можно ещё выбрать книжку какую-нибудь и параллельно её читать, а уже с вопросами, которые вам не нагуглились и, уже подумав какое-то время, вы их так и не смогли сами решить, приходите сюда.
Второй питон, как же вы заебали. Какой, блядь, смысл начинать с версии питона, которая сейчас вообще существует хоть в каком-то количестве только из-за того, что некоторые, для кого-то критичные, библиотеки ещё не перенесли на третий. Тонко намекаю - для новичка критичных библиотек, которых нету на третьем питоне, существует ровно ни хуя.
#42 #497963
>>497939
>>497937
По второму много материала для новичков, а переход на третий - вопрос парочки вечеров и пиваса с кальмарами.
Так что для новичка один хуй, его программировать надо учиться, а синтаксические особенности - говно.
#43 #497964
>>497963
Пусть тогда на фортране учится, или еще на каком говне мамонта.
#44 #497969
>>497963

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


Блять, ну это жи лаконичный пифон, а не раздутая до невозможности жаба или сисярп. Чтоб выучить питон до приемлемого уровня даже последнему нубу достаточно какой-нибудь книжки вроде dive into python3 и документации с python.org. Все.

Последний раз кальмаров пожрал и три дня жопой ссал
#45 #497970
>>497963
Отличия не только в синтаксисе.
#46 #498035
Вечер в хату.
Прогаю первый раз в жизни, учебники не понимаю, так как необучаемый дебил, не могущий в концентрацию.

Хочу познать силу рандома, чтобы с imgur тянуть рандомные фотографии в мой комплюктор.
Как это реализовать?
Вот мой первый (самый первый) говнокод, который я и то, грубо говоря копипастил.

print ('SURPRISE, MUTHAFUCKA!');
import random
a = int(input("a -> "))
b = int(input("b -> "))
if a > b:

print(a)
elif a < b:
print(b)
print(random.randomint(a,b))

В правильном направлении двигаюсь, или хуй там?
#47 #498037
>>498035

А, вообще, ебал я это дерьмовое программирование в рот, забейте.
#48 #498038
>>498035
Чот ты усложняешь. import random; print(random.randrange(1,100))
sage #49 #498039
>>498037
Ну иди рулеточки в /b/ покрути. Такое то занятие.
#50 #498040
>>498035
импорты лучше сразу в начале приучайся писать
sage #51 #498056
>>498040
[code]
for i, v in enumerate(self.values):
if v < 0:
self.values = 0
[/code]

Жопой чую - можно это сделать короче. Как?
#52 #498065
>>498056
map(lambda x: 0 if x <0 else x, self.values)

Сам спросил, сам ответил, еще и сажу приклеил.
#53 #498066
>>498056
Зачем тут вообще enumerate? А по поводу самого вопроса, мне на ум приходит только вот такой костыль:
self.values = 0 if (for elem in self.values if elem < 0) else self.values
#54 #498069
>>498066
enumerate затем шоб заменить in-place по index, а не делать self.values = для всех values разом.
#55 #498076
>>496987
Тут в прошлом треде спрашивали примеры сайтов на джанге. Пожалуй стоит упомянуть про эти:

https://github.com/django/djangoproject.com
https://github.com/python/pythondotorg
37 Кб, 450x410
#56 #498109
Суп, снова я. Передумал пока пилить вырывалку ссылок, хочу сделать генератор случайных фраз.
Есть база этих фраз. Как мне научить мой говнокод обращаться к этой базе? Она у меня в txt лежит.
Пилить их в код?

Как я вижу это:

1) Каждой фразе присваивается свой номер в базе.
2) Впиливается генератор чисел
3) При генерации числа код обращается к базе и берет фразу под цифрой.
Верно мыслю?
#57 #498110
>>498109
https://ideone.com/lPMhUw

Чет ты какой-то скучный, котик.
#58 #498112
>>498110

Спасибо, я просто дебил.
#60 #498115
>>498114
Ты уже начал? Насколько информативно, понятно, охуенно и т.д.?
#61 #498120
>>498115
Мне всё понятно и хорошо. Насчёт охуенности- вроде нет, но качественно, да я и SICP c Лутцом почитывал.
#62 #498121
>>498110
Есть же random.choice
#63 #498122
>>498121
Я не осилил стандартную библиотеку, не мешай мне выебываться.
#64 #498123
>>498112
>>498110

А как мне сделать, чтобы он постоянно генерировал фразы по нажатию энтера, и не закрывался?
Бесконечные циклы мне что-то не особо помогают, лол
#65 #498124
>>498123

Короче, вот у меня есть этот код:

import random
lines = open('./zs.txt','r').readlines()
print(lines[random.randrange(0, len(lines))])
input()

После инпута мне надо заново повторять весь цикл и так пока программу не закроют.
Как это сделать?
#66 #498125
>>498123
Цикл While
В нем печатаешь и считываешь нажатие клавиши. Если это Enter- выходишь из цикла.
#67 #498126
>>498123
while not input():
print('что-то там')

Выдашь ему не пустой инпут - не просто нажмёшь интер, а напишешь чего-нибудь, - он сразу выйдет из цикла.
46 Кб, 801x278
#68 #498130
Спасибо, Анон, пока что все ок, в IDLE работает, а в винде сразу закрывается с такой ошибкой, на пике.

import random
print ('Генератор фраз из "Зеленого Слоника"')
lines = open('./zs.txt','r').readlines()
while not input():
print(lines[random.randrange(0, len(lines))])
input()
#69 #498131
>>498130
Как меня доебали эти вендопроблемы, я их видеть уже не могу, все уже, блять.
#70 #498132
>>498130
Ммм, стрингоебля
>>498131
Линукс в виртуалке, какой-нибудь Xubuntu, чтобы без пердолинга.
#71 #498133
>>498130
Кодировка в консоли винды cp866, в ней нету множества символов юникода, тебе попался один из них. Самый просто вариант сделать:
print(lines[random.randrange(0, len(lines))].encode('cp866', 'replace').decode('cp866'))
В таком случае все символы, которые питон не сможет перевести в твою кодировку, он заменит на ?. Также можно 'replace' заменить на 'ignore' и тогда он эти символы просто будет игнорировать при инкоде.
Советую сразу навернуть что-то типа http://nedbatchelder.com/text/unipain.html , очень помогает разобраться, что вообще происходит
#72 #498141
Прогресс дал им юникод, нет, хотим сперму жрать, давиться и костылять с 100500 кодировками.
#73 #498142
В фрилансе востребован этот язык?
#74 #498143
>>498142
Востребованней руби.
#75 #498145
>>498143
Не понимаю как интерпретировать твою фразу. Руби востребованней пайтона?
#76 #498146
>>498145

>В фрилансе востребован этот язык?


"Этот язык" востребованней руби.
295 Кб, 1248x697
#77 #498159
>>498143
че вам там петон низавизли)))0
#78 #498161
>>498159
Что сказать то хотел?
#79 #498171
>>496987
двадцать четыре, Мартин, два-дца-ть че-ты-ре!!!!
#80 #498172
#81 #498199
>>498065
map(partial(max, 0), self.values)
48 Кб, 674x600
#82 #498225
>>498199
Чет совсем охуеть.
#83 #498263
Читаю чужой кот.
http://pastebin.com/BxnqYfzf
В чем тайный смысл нонов в state 5 и 6?
#84 #498325
>>498263
Ни в чём, быдло так зарезервировало место для кода. Пацаны используют pass.
#85 #498340
>>497691
Cron вряд ли будет работать на винде, а запускать апп я собираюсь именно на ней. (Тупо из-за network стораджей)

Энивей, решил черещ APScheduler.
#86 #498376
import unittest
from unittest import TestCase
from unittest.mock import patch

import my_class

class MyTest(TestCase):
@patch("my_class.MyClass")
def test_hello(self, MyKlass):
obj = MyKlass()
obj.hello.assert_called_with(x='y')
# WTF?

my_class.MyClass().hello(x='y')

unittest.main()

> raise AssertionError('Expected call: %s\nNot called' % (expected,))


AssertionError: Expected call: hello(x='y')

> Not called



что такое?
#87 #498377
>>498376
блять. все норм и индентацией.
вызываю my_class.MyClass().hello(x='y') в тесте
#88 #498386
>>498377
меняю assert_called_with на:
self.assertEqual(obj.mock_calls, [call.hello(x='y')])

работает.
штабильность.
#89 #498516
>>498133

Спасибо. Хуй знает пока, как разобраться, твои строки не работают что-то.
Буду дальше копать, за наводку спасибо :3
#90 #498554
>>498069
Я жопой прочитамши, но:
1) if any(x < 0 for x in self.values)
2) if min(self.values) < 0

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

После этого все автоформаттеры для меня - мертвы.
#91 #498557
>>498554
autopep8 то? Это был я. Ему надо отдавать весь сорец, а не кусок, иначе он не может просчитать индентацию и делает хуйту. В остальном все норм пока. Может сублим его криво использует.
#92 #498558
>>498133
>>498132
>>498131
>>498130

PYTHONIOENCODING=utf_8
#93 #498640
>>498130

>Генератор фраз из "Зеленого Слоника"


I see what you did there.
#95 #498703
>>498640

У меня с товарищем возникал идея насчет этого генератора, сейчас думаю, как реализовать ее.
#96 #498722
http://habrahabr.ru/post/260337/
https://github.com/Tiendil/the-tale

OpenSourse браузерка на джанге.
#97 #498723
>>498722
Клиентская логика на js. Не интересно, думал там brython какой.
#98 #498757
Был у кого опыт перекатывания в Питон из Руби? Мне интересно, сойдут ли для работодателя мои 3 года рельсования за релевантный опыт.
#99 #498761
>>498757
Маловероятно. Три года устанавливателем гемов для стартапов-однодневок как-то не очень.
#100 #498764
Сап. Второй день изучаю питон.
В наличии http://pastebin.com/Lxx7qwwR
Как сделать, чтобы после ввода pluma в консоли открывалась плума? И помимо этого цикл с отслеживанием буфера обмена не останавливался.
Сделал, чтобы после копирования в буфер открывалась плума, но заебался копировать.
#101 #498765
Хочу что-нибудь вроде multiprocessing, только который позволит запускать функции на удаленных машинах (доступ по ssh). Есть что-нибудь такое? Или можно ли самому какой-нибудь костыль придумать?
#102 #498766
>>498761
Ну понятное дело, что не в Гугол к Гвидо ван Россуму. На такой же уровень, устанавливателя пакетов.
#103 #498768
>>498765
execnet. Вроде еще какие-то были, но я забыл.
#104 #498769
Поясните за передачу аргументов при вызове функций. Почитал у Лутца про это, но что-то ннп.
Зачем, например, вызывать функцию так:
func(*arg)?
При объявлении все понятно - для принятия неограниченного числа аргументов функцией.
Но при вызове что-то нелогично получается передавать неопределенное кол-во аргументов, например, если вызываемая функция имеет ограниченно их кол-во.
#105 #498771
>>498766
Гвидо не в гугле давно. Языки не столь похожи чтоб 3 года одного считать за 3 года другого. Но знание руби таки поможет шустренько осилить питон. Да вообще вся мэйнстримная динамика похожа.
А вот как работодатель на это посмотрит, и как ты будешь доказывать что не верблюд - вот тут хз.
#106 #498784
>>498765
Очевидный ipython-notebook http://ipython.org/ipython-doc/1/parallel/parallel_process.html
Еще наверное pySpark, правда не знаю, как там с ssh.
#107 #498787
>>498769
Распаковка списков в позиционные аргументы.
[code]
def func(arg1,arg2):
return arg1,arg2
In: func(*[0,1])
Out: (0, 1)
[/code]
#108 #498789
>>498757
Сойдут.
#110 #498921
>>498769
Решил удвоить анона и ещё раз написать, что это распаковка, и делается так частенько. Заменяет конструкции в стиле fun(list[0], list[1], list[2]) на няшный fun(*list).
#111 #498924
>>498702
УМВР, но, может, Сублим что-то дополнительное делает.
#112 #498985
Посоны, помогите разобраться. Есть каталоги /home/.logs/123, home/.logs/234/, /home/.logs/345. В этих каталогах есть одинаковые по имени файлы, их все надо заархивировать, но у меня в архив добавляется только пjследний. Кодес http://pastebin.com/JdjSVckS
#113 #498988
>>498985
Блядь, там надо 'a', да? Спасибо, двач!
#114 #499019
>>498988
Не блогодори!
#115 #499268
Вопрос по IronPython и Wpf.
http://blogs.msdn.com/b/wpfsdk/archive/2007/10/02/data-validation-in-3-5.aspx
Как объявить в нем хрень по типу:

> public string this[string name]

563 Кб, 1913x922
#116 #499270
Как заставить питона нажать баттон (лоад моар) ?
#117 #499271
>>499270
Всмысле, чтобы он кликнул в твоём браузере?
#118 #499272
есть django и есть форма.
в html форме поля с одинаковым именем:
<input name="fields" />
<input name="fields" />
...
параметры POST запроса:
{fields: ["hello", "world"]}

нужно сделать форму:
class MyForm(forms.form):
...

может я не правильно что-то делаю. смотрю в forms, fields, widgets. пытаюсь разобраться и написать свой field и widget. но что-то мне кажется слишком уж сложно и что-то упустил. есть какая-то библиотека?
#119 #499284
>>499271
В парсере. Чтобы подгрузилось больше ссылок и я смог по всем пройтись.
sage #120 #499289
>>499284
Причем здесь питон вообще? Во вкладке нетворк посмотри куда запрос шлется при клике на батон.
#122 #499306
Подскажите годную и короткую конструкцию для очистки окна интерактивной консоли.
Сейчас использую такое:
import os
os.system('cls')
но всё равно остаётся нолик(почему?), а я хочу полную очистку.
#124 #499501
>>499272
написал widget и js для добавления полей.
может не понятно написал, мне нужно было по кнопке js добавлять поле: click Add field, поле добавляется.
привык с рельсами, что все уже есть. с другой стороны, это не сложно и теперь знаю немного код форм, полей и виджетов и что-то другое будет легче написать.
41 Кб, 614x286
#125 #499734
Привет, кодеры. У меня простой вопрос: как запускать скрипты из браузера?

Например есть два скрипта: один собирает грабом прогноз погоды и записывает его в sqlite3, второй берёт данные из базы и строит по ним диаграмку с помощью matplotlib. Но захотелось запускать их из браузера, для этого придумал простой html файл с двумя кнопками, которые пока никуда не ведут.
Хотелось бы чтобы эти кнопки запускали скрипты а диаграмка появлялась на странице. Как организовать такое общение? Если пойму принцип, прогрес-бар или сообщения об ошибках сделаю сам.

Пока что это просто три файла, которые лежат на рабочем компе.
#126 #499748
>>499310
Ок. Спасибо.
#127 #499751
>>499734
websocket, aiohttp
40 Кб, 600x300
#128 #500002
Ниразу не в тему треда, но все же спрошу. Я тут пытаюсь запилить е-магазин. Работать ларек должен на django, установил Plata. И блядь все... Дальше что делать не знаю. Че та в растерянности, читаю доки Plata, там примеров нихуя нету. Я даже не знаю что спрашивать, анон. Как сделать Електроный магазин? Начал читать книгу на картинке, но с английским немного напряжно читать и очень медленно. Посоветуйте что нибудь похожее на русском. Или материалов что бы въехать в эту "кухню"
12 Кб, 260x321
#129 #500004
>>500002
Не та картинка, чорт.
#130 #500006
https://addons.mozilla.org/en-US/firefox/addon/redirect-python-docs/

Аддон для ФФ - перенаправляет из гугла на нужную версию доков.
65 Кб, 629x688
#131 #500037
Тут задание такое https://gist.github.com/anonymous/06e0bd519490c8f03404
Как такое решать? Рубить всю страничку на куски, разделитель - пробел? Помоги анон, а то книгу по джанге прочитал, а осознание нахуя эта джанга нужна не пришло.
#132 #500038
>>500002

>Работать ларек должен на django


А почему такой выбор? Есть же куча более оптимизированных и простых решений.
#133 #500060
Решаю задачку на чекио, как обычно нагородил простыню кода, ибо не могу в краткие алгоритмы и мне выдает ошибку TypeError: list indices must be integers, not str, вроде все проверил, нигде строку в индекс не помещаю, в чем проблема?
http://pastebin.com/WvX39S9d
797 Кб, 900x675
#134 #500062
Привет питоняч. Начал я пилить чат бота XMPP на своём любимом удаве ( к слову я ньюфаг и многое мне пришлось учить на ходу). Юзаю PyCharm, но вопрос в следующем. Вот скачал я sleekXMPP, а надо сказать что документацию составлял какой-то ублюдок, ничего не понятно ( не в плане англ, а в плане того что реально плохо написано), так вот что посоветуете с нуля писать ( скорее всего долго и сложно, но зато всё будет понятно) или лезть в чужой код и пытаться его понять?
#135 #500070
>>500060
В Объявлении win_posX, win_posO запятых между элементами не хватает.
#136 #500126
Посмотрел на пару легковесных (относительно) фреймворков - webpy, cherrypy и flask. Хочу поделиться мнением.

WebPy:
+ Очень простой в освоении, я буквально за 5 минут осилил тутор и за 15 пробежал часть API.
+ Очень понятные инструкции по нормальному деплою (не крутить же серьезный проект на встроенном говносервере для отладки), легко развернуть отдачу статики на отладке. Но это касается и двух других фреймворков.
- Застрял на версии 0.37
- Нахуя пихать искаропки свои всратые обертки для БД и говношаблонизаторы??? Я лучше наверну сам то, что мне нужно.
- Референс АПИ на сайте сдохший
- Заброшен

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

CherryPy
+ Весьма промышленный по духу, т.е. рассчитан именно на покрытие задач связанных с get/post/cookies/sessions/auth/etc...
+ Не пихает из коробки всякую хуйню, ставишь mysqlalchemy и mako сам и радуешься.
+ Неплохие доки
- Школьнику будет трудновато.

Flask
+- Самый жирный по докам и фичам из всех этих. Из коробки идет шаблонизатор Jinja 2.
+ Очень серьезная документация, хорошая
+ В доках дохуя "рецептов"

Ну в общем я бы выбрал CherryPy или Flask для работы над несложным сервисом.

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

олсо можно не пердолиться и просто накатить рельсы
#136 #500126
Посмотрел на пару легковесных (относительно) фреймворков - webpy, cherrypy и flask. Хочу поделиться мнением.

WebPy:
+ Очень простой в освоении, я буквально за 5 минут осилил тутор и за 15 пробежал часть API.
+ Очень понятные инструкции по нормальному деплою (не крутить же серьезный проект на встроенном говносервере для отладки), легко развернуть отдачу статики на отладке. Но это касается и двух других фреймворков.
- Застрял на версии 0.37
- Нахуя пихать искаропки свои всратые обертки для БД и говношаблонизаторы??? Я лучше наверну сам то, что мне нужно.
- Референс АПИ на сайте сдохший
- Заброшен

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

CherryPy
+ Весьма промышленный по духу, т.е. рассчитан именно на покрытие задач связанных с get/post/cookies/sessions/auth/etc...
+ Не пихает из коробки всякую хуйню, ставишь mysqlalchemy и mako сам и радуешься.
+ Неплохие доки
- Школьнику будет трудновато.

Flask
+- Самый жирный по докам и фичам из всех этих. Из коробки идет шаблонизатор Jinja 2.
+ Очень серьезная документация, хорошая
+ В доках дохуя "рецептов"

Ну в общем я бы выбрал CherryPy или Flask для работы над несложным сервисом.

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

олсо можно не пердолиться и просто накатить рельсы
#137 #500151
>>500038
А что бы все охуели как я могу! А если серьезно только для резюме. Ну давай рассказывай, что за лучшие варианты.
24 Кб, 453x604
#138 #500152
Лол, попробовал этот checkio, за полчаса узнал кучу вещей средней полезности:
можно использовать map вместо генераторов, и вычислить неизменяемую часть один раз, вместо вычисления каждый раз
можно суммировать boolean в генераторе: sum(True for x in range(15))
try/except лучше чем проверка if len(xs) > n
if xs вместо if len(xs) или тем более if len(xs) == 0
"string" False будет ""
* можно совать генератор в вызов функции без дополнительных скобок
Не богано.
#139 #500153
>>500152
Сук педальная разметка. "string" * False, на остальное похуй.
175 Кб, 968x868
#140 #500160
Эй какелы, там набор в пром.юа. Вы надеюсь отправили заявку?
#141 #500167
>>500160
Блять, как же я завидую хуесосам которые живут в больших городах. Сук, каждый блядский месяц какие нибудь шкурсы и еще есть возможность трудоустроиться. Пидары
#142 #500170
>>500167
В украшке большая часть всяких курсов и стажировок в харькова, львове, етц. Там просто недвижимость очень дешевая и можно нонстоп хуячить все эти курсы компаниям, а в киеве всякая поебота как правило и конкуренция заметно выше.
#143 #500191
>>500152

>sum(True for x in range(15))


Болливудская замена len?

>if xs вместо if len(xs) или тем более if len(xs) == 0


Неоднозначно.
Вроде как советуется это только для сиквенсов и только для проверок на их пустоту, то есть "if xs" и "if not xs". Но не "if 5 - x", когда хотим ноль в качестве фолса, в этом случае нужно "if 5 - x == 0"

>try/except лучше чем проверка


Не лучше, а EAFP vs LBYL.
#144 #500285
>>500126
Зачем, если есть джанго?
38 Кб, 207x373
#145 #500299
>>499751
А как это можно сделать руками, средствами стандартной библиотеки? В виде последовательности шагов, мне бы сам принцип понять .
#146 #500308
>>500299
Ну чисто теоретически. Тебе нужны:
-Веб-сервер, принимающий запрос и запускающий нужный скрипт.
-Сам скрипт, который делает необходимые вычисления и строит графики.
-Веб-приложение, которое отдает информацию пользователю.

Для всего этого есть готовые решения. Но ты можешь это сам делать. Я никогда не пользовался, но в питоне есть стандартный модуль simplehttpserver.
#147 #500313
>>500126
Юзаю Flask, очень впечатлительные положения от него.
Единственный минус в том, что из коробки нет поддержки методов UPDATE и DELETE через скрытое поле в форме, в то время как это умеют многие другие фреймворки (те же рельсы).
Короче, рикаминдую такой фреймворк.
#148 #500321
>>500313
Фласки и прочие джанги это всё синхронные фреймворки. И с вебсокетом у них не очень хорошо. Можно конечно и http запросами ограничиться, но это же неинтересно.
#149 #500323
>>500308
Спасибо.

>Веб-приложение


Значит весь html будет внутри питоновского скрипта как тут?
http://pythonworld.ru/web/cgi-3.html
Второй вопрос: можно ли обойтись без сервера (хостить я пока ничего не собираюсь), чтобы страница общалась с питоновскими скриптами через JS? Кажется, это в принципе возможно как тут:
http://community.southpawtech.com/content/example-js-execute-server-side-python-and-alert-debug-log
#150 #500338
>>500191

> замена len


Генераторы не умеют в len().
Для длинных генераторов (>20), такой костыль будет быстрее:
deque(enumerate(range(999999), 1), maxlen=1)[0][0]

> Неоднозначно


if x: вызывает x.__bool__()
if x == 0: вызывает (x.__eq__(0)).__bool__()
int.__bool__ реализован как:
return self != 0

так что в случае int, явное сравнение с нулём излишне.
#151 #500342
>>500338

>так что в случае int, явное сравнение с нулём излишне


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

>Генераторы не умеют в len().


Точно - всё думал, где я всё же видел эту конструкцию.
#152 #500444
>>500313
У меня получилась такая сборка: CherryPy, Jinja 2, python-mysqldb, Routes. Работает как часы. Осталось подключить sqlalchemy и получить такое же монструозное говно как и джанго, но с пердольской самопальной архитектурой. Вот была бы какая-нибудь более тонкая обертка над БД, чтобы можно было через паттерн activerecord работать в духе

fields.name = 'vasyan'
fields.age = '51'
db.insert('my_table', fields)

Может кто-нибудь знает что-то такое и не очень всратое?
#153 #500492
>>496987
Короче, у меня есть dict, нужно чтобы по этому дикту искало слова в предложении, я создал пустой list, переменную str в которую вводит юзер предложение и потом цикл for перебирает по букве это предложение, когда управляющая переменная (или как она там назыавется) равна пробелу к этому list добавляется слово, потом элементы list перебираются и если элемент есть в dict, то выводится значение соответствующее ключу, но нихуя не выходит:

\tif choice == 0:
\t\tsentence = []
\t\tsentence_inp = input("Введите предложение на русском языке: ")
\t\tword_inp = ''
\t\tfor n in sentence_inp:
\t\t\tword_inp += n
\t\t\twhile n == ' ':
\t\t\t\tsentence.append(word_inp)

\t\tfor word in sentence:
\t\t\tprint(dict[word])

Где у меня бесконечный цикл?
#154 #500514
>>500492
Отступы съело, не видишь? В питоне отступы определяют смысл кода. http://pastebin.com/

Предложение на слова разбей функцией "str.split()". Вернёт тебе то, что ты хотел иметь в lst. Велосипед выпили, ошибка в первую очередь в нём. https://docs.python.org/3.4/library/stdtypes.html#str.split

Последний цикл выдаст кейегор, когда слова из предложения не окажется в дикте. Проверяется так: "if word in dict", и там уже можешь делать "print(dict[word])".
#155 #500515
>>500514

>что ты хотел иметь в sentence


Фикс.
#156 #500519
>>500444
Мне вот что-то sqlalchemy вообще не доставил почему-то.
#157 #500550
>>500492

> Где у меня бесконечный цикл?


Как эту хуйню надо было написать тебе уже сказали. А если об ошиках, то у тебя бесконечный цикл может быть только while (потому что другие циклы заведомо конечны). А в while, если присмотреться, условие выхода никогда не сработает, потому что n не сбрасывается.
#158 #500552
>>500062
бамп чтоли...
#159 #500588
Привет, Аноны. У меня есть один вопрос.
Есть парсер МП3 файлов из ВК.
Парсинг идет в один поток. Т.е. файлы идут по очереди.
Треки, на которые ведет битая ссылка скипаются.
Но попадаются треки, которые скачиваются со скоростью в десятков байт/с. Как можно организовать обнаружение и скип, в дальнейшем таких файлов? Качаю через urllib.request

Спасибо.
#161 #500683
>>500160
Видел, взбаттхертнул. В киеве блядь дорого жить одинокому анону.
>>500191

>EAFP vs LBYL


Спасибо, интересно.
#162 #500694
>>500591
Спасибо. Как я понимаю, замерять скорость скачки и обрывать соединение, если скорость мала, в таком случае невозможно, если реализовывать в один поток?
многопоточность пока еще не изучил
#163 #500718
https://www.youtube.com/watch?v=wf-BqAjZb8M
местами доставило
#164 #500743
>>499297
Ну и хуле мне делать с этим респонсом?
Какой отправить запрос чтобы провернуть нажатие баттона?
Помоги, анон!
242 Кб, 1335x510
#165 #500797
Привет, /pr.
Аноны, помогите, пожалуйста.
Почему так? Где может быть ошибка?
Устанавливал через pip, собирал через гит. Одна и та же ошибка..

На windows установил через pip - все работает.
#166 #500858
>>500797
Предположу, что устанавливаемый модуль написан на втором пистоне, а ты пытаешься установить на третий.
#167 #500919
>>500858
Нет. Устанавливаемый модуль спокойно работает на шиндовс с третим пайтоном.
#168 #500945
>>500743
Открываешь вкладку Нетворк, щелкаешь по кнопке, браузер отправляет запрос и он появляется в этой вкладке, щелкаешь по нему, изучаешь заголовки и куки, копируешь в параметры своего запроса, посылаешь его. Короче эмулируешь браузер руками, он же сам такие же запросы шлёт.
#169 #500950
>>500919
Скинь файл на пастебин или дай на него линк.
#170 #500956
>>500950
Нашел в чем причина. Почему-то Python на Raspberry Pi не переваривает u перед строковыми литералами. Запустил иксы на RPI - в Python IDLE u даже не зеленеет.
Это странно, Пайтон-то 3.2.3 выше обновляется только пересборкой пакетов
В общем, поковырял немного исходники, поудалял "u" перед строками - пакет установился правда, тесты не установились, ну да и черт с ними

Спасибо. Вот проект в GH, если интересно
https://github.com/dimka665/vk
#171 #500962
>>500126

>как построить MVC или MV приложение с многофайловой структурой


Где б почитать/посмотреть об этом подробнее?
#172 #501009
>>500962
В исходном коде других фреймворков. Django, Rails, Laravel, YII2. С расчетом на то, что в python/ruby получаются не такие простыни говнокода, как в PHP, да и python инструмент посильнее для того, чтобы сделать максимально прозрачное приложение (без кучи инициализации в контроллере, лаконичный route-config). Структуре папки модели лучше уделить побольше внимания, если планируется использовать datamapper-ы и миграции.
#173 #501011
>>500718
Поржал, как дротаны могут смеяться и рассуждать о коде из 80 символов вместо 79. Не думаю, что джанго-быдло смотрит подобные ролики.
#174 #501025
>>500718
Такое-то ОКР. Сам уйму времени трачу, когда для души или публичное что-то пилю - сортирую импорты, расставляю пробелы в докстрингах, вставляю пустые строки, выстраиваю JSON-образные столбики из длинных вызовов, рефакторю компрехеншены, стараюсь не смешивать EAFP и LBYL - заменяю тестовые ифы трай-экцептами или наоборот. Обязательно стараюсь "облегчить" строки - использовать более краткие имена переменных, поделить.вложенные.вызовы() на несколько строк, отобью пробелами, чтобы повторяющиеся стейтменты с общей идеей читались с первого взгляда на первую строчку. После чего, естественно, слежу, не стало ли только хуже - если стало, то отхожу от стандарта. Питон - отдушина для аутистов вроде меня. Я ещё файлы на компе постоянно сортирую.

Зато когда надо что-то сделать быстро - выходит лютая О(n^3) дрисня с пирамидами говна, похожая на обрушившееся здание.
41 Кб, 198x238
#175 #501030
>>501025
Как же мне припекло.
#176 #501034
>>501030
А, у него там такая диспробелия и дальше. Видимо, на ноуте без очков не видит.
#177 #501061
Двач, вроде бы в каноничном курсе MIT Scheme заменили на Python. Не подкинешь ссылку где это посмотреть-почитать?
#178 #501115
>>501061
edx
6.00
44 Кб, 600x573
#180 #501390
>>501327

> # очищаем list

#181 #501406
>>501327
"Писать на фортране можно на любом языке"
#182 #501444
>>501390
Одна из любимых Йоб. Походит под все ситуации.
#183 #501503
>>500321
Для асинхронности есть очень похожий фреймворк Twisted Klein.
#184 #501520
>>501503

> Twisted Klein


Только для тухлой версии пифона.
#185 #501654
>>501520
Для современного ничего нет потому что питон не нужен когда есть дг, а под него есть асинхронный догевеб.
#186 #501763
>>501654
Да заебал ты уже форсить своё говно. Есть торнадо и айохттп.
#187 #501783
>>501654
@pyos, залогинься.
#188 #501806
Кто-нибудь писал библиотеки на Няшной с помощью ctypes? Есть одна либа, и мне хотелось бы её подключить к Пиццону. Туториалов нормальных не нашёл, всё какое-то либо слишком сложное, либо очень старое. Очень пугают врапперы, которые нужно писать. Есть ли у кого годный стартовый гайд?

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

1. Нужна ли под виндой какая-нибудь студия в качестве компилятора или в питоне уже всё есть?
2. Будет ли скомпиленная либа работать везде, где работал бы аналогичный модуль, написанный на чистом Питоне или будет пахать только на одной платформе?
3. Так или иначе, натыкаюсь на некий SWIG. Примеры выглядят довольно здорово - не нужно писать никаких адовых врапперов, пишешь обычные сорсы и генерируешь. Проще ли воспользоваться им или там своя специфика?
4. Создаёт ли SWIG какие-то дополнительные зависимости - нужно ли при импорте итогового модуля иметь его установленным, либо импортировать какие-нибудь утилитарные модули?
5. Есть ли способ лучше?
144 Кб, 615x842
#190 #501938
>>501406
Как будто что-то плохое.
#191 #501962
Питоняши, накидайте годных опенсорсных проектов, хочу поразбираться в коде на примерах.
#192 #501974
>>501806
Вариантов несколько:
если либа ещё не написана, то пиши ещё сразу в питоньих обёртках на си
если либа уже написана и есть её исходник, тогда следует использовать swig
если либа идёт бинарником без исходников, тогда используй ctypes

Для swig:
компилируешь под каждую платформу (под виндой нужен компилятор)
работает только под скомпилированную платформу
дополнительных модулей и ухищрений не надо (получаешь бинарную либу + питоний файл)

Для cytpes (есть опыт только под вендой):
* вытягиваешь функции из бинарной либы задавая типы входных переменных и возвращаемого значения
0 Кб, 40x40
#193 #501998
Вожусь с Pygame.
Делаю Surface спрайта, просто заливая одним цветом — всё работает нормально.
Делаю из картинки-пикрелейтед (image.load()) — тоже получается, но спрайт начинает оставлять за собой "след" при движении.
Что-то не гуглится такая шляпа. Помогач-питонач.
#194 #502016
Подкиньте хороших туториалов по Джанге, желательно на русском
#195 #502029
>>502016
Ну или хоть дайте нормальных сорцов реальных проектов глянуть
Документацию же я посмотрел
#196 #502042

>>>>502029


нахуйди
#197 #502045
'>>>' denote the Python Shell prompt

Что такое Python Shell prompt?
#198 #502049
>>502045

> Python Shell prompt


Какое из трёх слов тебе непонятно?
27 Кб, 667x452
#199 #502057
>>502049
prompt - это обычно шрифт же, в переводе? А что значит Python Shell prompt? Шрифт Питоновой Оболочки? Что за этим стоит? Это индикатор "сюда вводить команды"?
Алсо, моя первая программа в жизни.
#200 #502063
>>502049
Почему
print('Hello World') выводит надпись на экран.

А
print(Hello World)
и
print Hello World
printHello World
нет?

Алсо, я так понял, что перед скобкой можно ставить пробел, а можно НЕ ставить
print('Hello World')
print ('Hello World')

равно дают результат
Это универсальное правило для любых пистоновых команд со скобкой?
#201 #502065
>>502063
Потому что третий питон. Во втором был оператором, в третьем стал функцией.
#203 #502069
>>502066
Аха, то есть как я и понял, индикатор готовности сожрать команду. У линукса доллар, у пистона три стрелки.

А в чем разница между оператором и функцией?

>In most languages, functions may be seen as a special form of prefix operator with fixed precedence level and associativity, often with compulsory parentheses e.g. Func(a) (or (Func a) in LISP).



Что это значит?
#204 #502070
>>502065
Я вошел во второй питон (на моем линуксе оба), и второй питон действительно выводит в стрим оба варианта:
print 'Hello World'
print ('Hello World')

А третий уже нет! Лол!
#205 #502073
>>502070

> А третий уже нет! Лол!


Уябывай, клоун.
#206 #502074
>>502070
Ты бы хоть Лутца почитал, восторженный.
42 Кб, 500x500
#207 #502083
>>501998
Вопрос снимается. Я тупо забыл в основном цикле закрашивать экран.
#208 #502103
>>502074
Почитал бы, но рекомендовали dive into python3 в тредике. Теперь почитаю Лутца.

Поясни на пальцах разницу между функцией и оператором?
50 Кб, 1366x743
#209 #502110
В dive into python3 дается первый же пример для ввода, где approximate_size, if kilobyte 1024 и т.д. Ну помните, наверное.

Так вот, я это все ввожу, а интерпретатор продолжает многоточиями требовать новых команд. Уж что я ни вводил - и end, и энтером стучал. Пикрелейтед.
#210 #502111
>>502110
Наверное, тебе не стоит заниматься программированием.
#211 #502112
>>502111
Why? :(

Наверное, мне и жить не стоит, да?
#212 #502115
Как начать программировать на питоне?
#213 #502123
>>502115
Dive into python3

Я делаю первое задание оттуда. У меня проблема. В статье - стена текста. Непонятно, как ее вводить ввиду наличия нескольких строк. Мне приходится в конце строки жать Энтер, в результате интерпретатор делает абзац и показывает три точки (identation?). Не понимаю, ожидал ли такого Dive into python3, или я уже ошибся где-то.

И непонятно, как закончить ввод команд. Пик выше. Кто делал стартовое задание с Dive into python3 в треде?
#214 #502124
#215 #502125
>>502124
Да. Как будешь выполнять первое задание, отпиши.
#216 #502128
>>502111
Я никогда раньше в жизни не программировал ничего, мои знания абсолютно нулевые, чему ты удивляешься? Лучше помоги с проблемой.
#217 #502143
>>502110
Бамп вопросу. Не могу дальше идти, пока не разберусь, помогите.
#218 #502158
Поясните за код с курса мита, я немного не понял как он работает и зафейлил тест.

http://ideone.com/Lgu5fd

Вот как я понял идет цикл, он шагает все предложение каждый символ, верно? Т.е. сначала смотрит м, ага, видит что "М" - печатает "М", далее идет "a" - добавляем к счетчику +1. Далее идет s - первые два условия не выполняются, тогда пишем в счетчик -1.
Все верно понял? Тогда почему 1)Не печатает о, это потому что первый иф сработал?
2)пробелы считаются тоже символами в данном случае? Тогда откуда -25 в ответе, а не 24?
#219 #502174
>>502143
Напиши код в файл, сохрани myfile.py, запусти "python myfile.py" из консоли, и если не будет работать запости код с ideone сюда.
#220 #502182
>>502158
1. Да, проверка на "о" в elif совершенно бессмысленна
2. http://ideone.com/DstKYE
#221 #502191
На питоне можно писать игры?
#222 #502197
>>502191
Смотря какие. ААА тайтлы да и просто игры с графеном - нет. Кривые поделки потренироваться - да, на pygame. Более продвинунутые можно делать на kivy.
#223 #502202
>>502191
Не слушай его. Можно. Просто мало кто делал. Критичные части ты в любом случае на си перепишешь в виде модуля. Зато остальные некритичные 80% будут без протеканий и сегфолтов.
#224 #502212
>>502182
Точно, спасибо, я забыл что y у них это согласная и как-то продинамился с гласными.
#225 #502224
>>502202
А если я не знаю ни пайтон ни плюсы?
#226 #502233
>>502224
Тогда что ты от меня хочешь?
#227 #502237
>>502233
Можно ли написать дум на пайтоне?
#228 #502240
>>502202

>Просто мало кто делал


Вот поэтому и не стоит делать. Нихуя нет ведь, ни движков, ни библиотек годных. Только если для себя в стол.
>>502224
Если тебе хочется делать игры в качестве программиста, а программировать ты не умеешь - бери питон.
#229 #502241
>>502237
Можно и на лиспе и на брейнфаке и на петухе.
#230 #502242
>>502237
Конечно, даже не бэйсике можно.
#231 #502251
Все, чет я совсем посыпался на митовском курсе, голова перестала варить на элементарных вопросах, начал гуглить и хзачастую брать готовые ответ, из-за этого стыдно
#232 #502285
есть django модель.
мне нужно добавить некоторые методы которые буду использоваться тольк в template.html.
я же не буду добавлять их в модель.
например, добавить метод: display_xyz_as_table()
создаю class MyModelDecorator.
у этого класса такие методы:
def __init__(self, my_model)
@classmethod
def from_list(my_models)
# ну и
def display_xyz_as_table(self)

правильно делаю? нет для этого библиотеки?

в руби такие классы-обертки называются декораторами.
#233 #502286
https://piratenpad.de/p/4N3yxUfeSCcAsZ4
Где ошибка? Скрипт должен перемещать файл из папки загрузок в папку с картинками.
#234 #502301
>>502240

>Нихуя нет ведь, ни движков, ни библиотек годных


А сам не? Движок это 15% сложности всего конвейера разработки. Ну напишешь ты движок, потом в процессе производства контента всё равно пойдёшь матрицы перемножать.

Те кто использует готовый движок вообще не учат программирование, а таскают ассеты мышкой и пиздят бесплатный контент по инету.
#236 #502532
А где вы пишите код на питон?
Я только начал, пробую писать в питон шелле, но туда, вроде, нормально не копировать код.
#237 #502533
>>502532
Пишу в PyCharm, довольно годная IDE под питон.
#238 #502537
>>502533
А как запустить программу с питона?
Я скачал файл с расширение .ру, как его запустить?
Я его запускаю, и он сразу исчезает.
#239 #502545
>>502537
А что хоть он делать должен?
#240 #502547
>>502537
Через консоль или функцию запуска скрипта в твоей IDE.

Самый простой метод - открываешь консоль, перетягиваешь в неё мышью файл, нажимаешь ввод.
#241 #502549
>>501974
Спасибо, дружище.
#242 #502551
>>501406
В Жупайтере даже встроен фортранчик - для чотких пацанов.
#243 #502553
Котаны, кто-нибудь жаббер ботами баловался? Есть два стула, либо xmpppy она для python 2x и sleekXMPP но она какая-то хуёвая. Что посоветуете?
#244 #502554
>>502545
Не знаю, я туториал изучаю: http://www.diveintopython3.net/your-first-python-program.html

>>502547

>Через консоль или функцию запуска скрипта в твоей IDE.


А где в питоншелл эта функция?
#245 #502557
>>502251
Что за курс?
#246 #502558
>>502554
поставь в конце скрипта input() Тогда сразу не закроется.
#247 #502560
>>502558
Спасибо, вроде не закрывается сразу.
#249 #502564
>>502560
Вообще добавь в PATH адрес к интерпритатору и работай из под cmd
#250 #502572
>>502564

>Вообще добавь в PATH адрес к интерпритатору


Что даёт? Куда вставить?

>работай из под cmd


Это как? Я, просто, в программировании нуб, вот, пытаюсь учиться.
#251 #502578
>>502564
У него лялих.
347 Кб, 640x400
#252 #502581
>>502572
А ты пайтон шелл через терминал запускаешь? Пишешь "пайтон" и в него загружается питонья консоль с ">>>"? Тогда выйди из пайтон шелла, набрав "exit()" - вернёшься в терминал.
#253 #502582
>>502581
Нет, через ярлык.
Попробовал через цмд написать python, выдало ошибку.
#254 #502585
>>502582
А это что? >>502057
40 Кб, 684x720
#255 #502587
>>502585
Это не я, если что.
#256 #502593
>>502587
Ебать вас развелось!

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

У тебя на экране IDLE - это отдельное приложение со своим шеллом. Там ещё есть эдитор убогонький. Говно, короче.
#257 #502600
>>502593
Ладно, завтра уже сделаю, а то сегодня плохо спал, голова не варит.
455 Кб, 2256x1720
#258 #502601
>>502593
И, спасибо за помощь! Держи птичку.
#259 #502605
Ньюфаги, не засирайте тред своим лепетом. Скройтесь в какой-нибудь чатик.
#260 #502618
Я словпоке - кто-то уже навернул весь PyCon 2015? Посоветуйте маствоча оттуда. 130 часов выступлений, из них дай боже 1/5 смотрибельна, остальное ТАК СИБЕ.

Сам накернул и не подавился следующим:
Beyond PEP 8 - Best Practices for Beautiful Intelligible Code (Raymond Hettinger)
Super Considered Super! (Raymond Hettinger)
Facts and Myths About Python Names and Values (Ned Batchelder)
Losing Your Loops Fast Numerical Computing With NumPy
How to Be More Effective With Functions (Brett Slatkin)
Machine Learning 101 (Kyle Kastner)
Type Hints (Guido Van Rossum)
#261 #502620
>>502593
Почему убогенький-то? Пиздатый же IDLE для лёгких программ/скриптов. Для начала - в самый раз.
Чем сам пользуешься?
#262 #502621
>>502553
Мне ответит кто-нибудь или вы тут будете и дальше простейшую хрень, которая гуглится в 2 клика обсуждать?
#263 #502622
>>502620
Сублаймом - пишу именно легкие скрипты и плагины - это основной род моей деятельности. Но в первое время изучения пайтона перелез с Айдла на Ноутпад++ и почувствовал массивные облегчения в области пониже спины. Айдл просто очень топорный.
#264 #502626
>>502622
Посмотрел, поставил может перейду с нагроможденного эклипса. Саблайм приятнее стандартного IDLE, однако как решал вопрос с input()-ами?
#265 #502628
>>502626
Запускай скрипт из консоли.
#266 #502631
>>502628
Тогда не очень вариант. Как по мне, основное удобство IDLE в том, что он принимает input(), а также дает возможность отлаживать скрипты на ходу. запустить скрипт через него, а дальше проверять значения промежуточных переменных, и всё такое.
#267 #502635
>>502626
А никак - мне они не требуются. Может, из-за этого в IDLE я не вижу никаких хороших сторон. Поищу плагин для Сублайма, если он есть, если нет - запущу через консоль.
#268 #502662
За сколько часов пифон можно выучить для макакских заказов хотя бы? Базис, считай, нулевой, первокурсота.
#269 #502679
>>502662
Все зависит от усилий и интереса. Если охуенно угореть и свободное время посвящать ему, то через месяца три можно джуном идти.
#270 #502684
>>502618
Что там про нампай было?
#271 #502685
>>502551
Эта где?
#272 #502690
>>502684
Интродукшен для тех, кто про нампай только слышал (типа меня). Ничего продвинутого, но зато очень понятно и наглядно, зачем оно нужно и как влиться.
#273 #502691
>>502621
Никто, случаем, не знает, как присвоить переменной значение?
#274 #502713
>>502635
В сублим можно встроить быстрый запуск и прописать путь к интерпритатору. Более того, он сам написан на пистоне, можно вообще чо угодно ебануть, при желании.
#275 #502727
>>502713
Ну, может быть, но мне нинужно, и я не ставил целью рекламировать софт. Я же всё не могу понять, что это за Айпайтон Ноутбук (Жупайтер) - похоже на некий репл, активно работающий с этим самым юзеринпутом.

В докладах все модные хипстеры используют его для всякого графинга и машинлёрнинга. Проблему омрачает то, что я лисодебил, и мне не хочется использовать ничего, что работало бы через вебморду браузера.
#276 #502763
>>502128
Зачем тебе dive into python тогда? Эта книга рассчитана на людей которые умеют программировать, но не знают python. Если ты известную пасту прочитал, то там было "похуй, если ничего не поймёшь".
Пройди лучше какой-то онлайн-курс где тебя как по рельсам прокатят по основным идеям и синтаксису. Начинать изучение программирования в 2015 с пердолинга с установкой (да ещё и на сперме) небогоугодное дело, ящитаю.
#277 #502794
>>502128
Посоветую тебе начать с Доусона. Очень хорошая книга по Python для начинающих. Можешь выполнять примеры на половину из них я забивал, можешь сам писать свои штуки.
Как закончишь книгу, у тебя будут поверхностные знания по типам данных, условным переходам и так далее. Немного даже затрагивается ООП.
Дальше, когда ты проехался по верхам, можешь начать изучать уже нормальные материалы, т.к. ты уже знаешь, "как это работает" и всё то, что было написано в Доусоне в углубленной версии, будет пониматься буквально с полуслова.
Второй книгой посоветую Саммерфилда. Приятно и интересно читать, а знания даются уже глубокие.
#278 #502856
Блджать, как файл открыть в питоне?

>>> import os


>>> os.startfile (home/1.py)


File "<stdin>", line 1
os.startfile (home/1.py)
^
SyntaxError: invalid syntax

Пробую
import os
os.startfile (/home/1.py)
File "<stdin>", line 1
os.startfile (/home/1.py)
^
SyntaxError: invalid syntax

То же самое.

Пробую

>>> open(/home/1.py)


File "<stdin>", line 1
open(/home/1.py)
^
SyntaxError: invalid syntax

>>>



Тоже нит. :(

инб4 днище.
#278 #502856
Блджать, как файл открыть в питоне?

>>> import os


>>> os.startfile (home/1.py)


File "<stdin>", line 1
os.startfile (home/1.py)
^
SyntaxError: invalid syntax

Пробую
import os
os.startfile (/home/1.py)
File "<stdin>", line 1
os.startfile (/home/1.py)
^
SyntaxError: invalid syntax

То же самое.

Пробую

>>> open(/home/1.py)


File "<stdin>", line 1
open(/home/1.py)
^
SyntaxError: invalid syntax

>>>



Тоже нит. :(

инб4 днище.
#279 #502858
>>502856
Днище.
на сасачь! откуда вы, блядь, лезете?
#280 #502862
>>502856
Изучи объекты str и попробуй ещё раз.
#281 #502868
>>502763
Что за онлайн курс такой годный? Спали, анончик.
#282 #502874
Сделал файл p3.py
содержимое

print('Hello World')

Выполняю:

import os
os.popen('/home/user/folder/p3/py')

ПЕРМИШН ДЕНАЙД

Ок, sudo python3

ПЕРМИШН ДЕНАЙД

Разобрался, что надо в properties файла еще всякое наставить.
Пермишн перестало появляться. Новая проблема:

>>> /home/user/folder/p3.py: 1: /home/user/folder/p3.py: Syntax error: word unexpected (expecting ")")

#283 #502879
>>502874
Иди троли в другое место.
#284 #502881
>>502874
Алсо, скачал файл humansize.py с туториала dive into python3. Схоронил.

Так он у меня тоже не открывается.
Ввожу
import os
os.popen('/home/user/folder/humansize.py')

Выводит

>>> /home/user/folder/humansize.py: 9: /home/user/folder/humansize.py: Convert file sizes to human-readable form.



Available functions:
approximate_size(size, a_kilobyte_is_1024_bytes)
takes a file size and returns a human-readable string

Examples:

>>> approximate_size(1024)


1.0: not found
/home/user/folder/humansize.py: 15: /home/user/folder/humansize.py: SUFFIXES: not found
/home/user/folder/humansize.py: 16: /home/user/folder/humansize.py: 1024:: not found
/home/user/folder/humansize.py: 18: /home/user/folder/humansize.py: Syntax error: "(" unexpected

Код скачан из образца: www.diveintopython3.net/examples/humansize.py

Из образца, Карл!
#285 #502883
>>502879
Но я не трол это, наверное, еще хуже
#287 #502886
>>502885
А как у тебя IDLE находит файл без указания пути?
#288 #502887
>>502881
Все работает. Может проебался с версией питона?
#289 #502888
>>502886
в корневой папке запускается.
11 Кб, 320x240
#290 #502890
>>502886
Какой, нахуй, idle?! Это просто из консольки запуск.
#291 #502892
>>502890
Когда ты ввел python консолька на секунду преобразилась в интерпретатор (IDLE), нашла файл и выполнила его.
#292 #502893
>>502886
Т.е. можно в соснольке зайти в саму папку, например, cd /home/test/programs/
и оттуда уже запустить скрипт с помощью
python3 main.py (либо ./main.py, если шибенг прописан и права даны).

Олсо, аноны, как сделать, чтобы стандартный IDLE делал копи-паст еще и на русской кодировке?
#293 #502894
>>502892
IDLE - это не интерпретатор, а стандартный IDE для пайтона.
#294 #502895
>>502868
Да их как говна сейчас. Вон аноны проходят 6.00x от MIT, на Udacity годные курсы, на codeacademy, Intro to Interactive Computer Programming на курсере рекомендую. Было бы время и желание.
#295 #502896
>>502894
А что такое интерпретатор тогда?
#296 #502899
#297 #502900
>>502896
Загугли, даун.
#298 #502902
>>502896
Это программа, которая читает код и "преобразует" его в действия компьютера.
IDLE - очередная оболочка, в которой ты кодишь, и которая связывается с интерпретатором, когда ей нужно запустить код.

Т.е., введя в консоли python3 - открывается консольный IDE. Если вызывать программу через python3 temp.py - запускается сама программа (через интерпретатор).
#299 #502919
>>502902

>Если вызывать программу через python3 temp.py



- это понятно
python '/home/user/folder/humansize.py'

А вот как того же результата добиться, находясь в IDE?
import os?
open?
#300 #502927
>>502919
Нихуя не понимаю, чего ты хочешь. Открыть программу в IDLE в иксах?
Через file-open (в программе, а не в коде), а дальше - run.
Если в консоли - python3 <файл> <параментрхуй знает какой, гугли>

Или мы друг друга не понимаем.
Ты хочешь запустить программу в программе?
#301 #502928
>>502927
Я могу запустить программу humansize.py, не входя в питоновый шелл, через команду python humansize.py.

Но я не понимаю, как ее же запускать из-под шелла. Когда выполнен вход в IDLE.
#302 #502931
>>502928
Ты хочешь в интерактивном режиме, из-под него запустить программу? Никак.
Только открыть из-под него.
#303 #502933
>>502931
Ват? Но почему?
#304 #502934
>>502933
Потому что ты хочешь сделать какую-то рекурсивную хуйню и изобрести троллейбус из буханки
#305 #502941
>>502934
Объясни, пожалуйста, в чем концептуальная невозможность такого шага.

Я могу ввести в шелле print 'Hello World'
Я могу написать в блокноте print 'Hello World' и потом запустить эту программу, не заходя в шелл.

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

Как же тогда поступать с чужим кодом? Вот найду я код большой, захочу его запустить, мне его что, вручную в шелле набивать?
#306 #502949
>>502941
Открыть в шелле, не через код слабо? Там сверху менюшки, file->open, вся хуйня.
38 Кб, 667x452
#307 #502953
>>502949
У меня нет такого.
#308 #502955
>>502953
У тебя где-то логическая ошибка и ты не понимаешь, чего ты хочешь.
Перечитай посты еще разок.
#309 #502956
>>502953
Сука как ты заебал, ты что сюда за каждой ошибкой бегать будешь? Я понимаю, ты новичок и всё такое ( я сам ещё ньюфаг по сравнению со здешними), но если ты не можешь загуглить/разобраться с простейшими вещами то хули ты сюда лезешь? Если ты хочешь вкатиться в программирование, тебе придётся долго искать инфу, разбираться и собирать, эксперементировать, это блядь основы. Сорри, просто пригорело(
#310 #502960
>>502941

>Вот найду я код большой, захочу его запустить


https://docs.python.org/2/library/functions.html#execfile
#312 #502966
>>502956
Иди нах,чо хочу то и спрашиваю
#313 #502972
Читаю Довсона (на английском, естественно).
В первой же главе у него заголовок Setting up Python on Windows.

Судя по тому, что написал анон выше (file - open вся хуйня), есть существенные отличия, работать с питоном из-под Виндовс или через linux terminal.

В связи с этим вопрос, правильно ли я понимаю, что для возможности follow his instructions мне сейчас надо
- поставить виртуальную машину виндовс
- из-под нее поставить виндистрибутив пинуса
#314 #502978
>>502972
Нихуя там нет отличий. Пишешь код через IDLE (для начала), или через другой IDE. В винде и на линухе.

В линухе запускаешь через терминал, а в винде клацаешь на само приложение, открывается интерпретатор, выполняется программа в консольном окошке (если не GUI не писал).
#315 #502992
print 'Hello World'
print "Hello World"
print('Hello World')
print ('Hello World')
print("Hello World")
print ("Hello World")

Какого хуя такая вариативность написания, ммм?
#316 #502996
>>502992
print 'Hello World'
print "Hello World"
На втором питоне принт-это функция (наконец-то), т.е. соснешь с этим выражением.
Остальные - пиши как хочешь. Что удивительного?
Нужна сишная строгость?
#317 #502999
>>502996

>На втором питоне



На третьем, ты хотел сказать? Алсо, я не понимаю сути вот этого - стала функцией, теперь без парентезис нельзя? Ват?
#318 #503011
>>502999
Да, на третьем, конечно. Что ты имеешь ввиду под "крайностями"?
#319 #503017
>>503011
Скобочки.

Наткнулся у Довсона на некий скрипт моде, в котором ты пишешь print 'Hello World', а мгновенного вывода в стрим Hello World нет после нажатия энтера, ибо будет позже. На то и скрипт мод.

У меня этот скрипт мод в линуксовом-питоновом шелле отсутствует, да? Юзай блокнот заместо?
#320 #503028
>>503017
Я нихуя не понимаю. Но это не скрипт-мод, а интерактивный режим.
Т.е. ввел команду - нажал enter - она тут же выполнилась.
Шелл - это и есть скрипт-мод.
#321 #503029
>>503028

>You can open a script mode window from the interactive window you've been using. Select the File menu, then


New Window. A new window will appear that looks just like the one in
Figure 1.5

>Now type


print "Game Over"
and press Enter. Nothing happens! That's because you're in script mode.
What you're doing is writing a list of statements for the computer to execute later. Once you save your
program, you can run it.
#322 #503047
>>503029
СПЕРМОСОБЕННОСТИ какие-то.
#323 #503059
>>503029
У тебя старый Доусон, нужен 2014 года.
#324 #503065
>>503059
Можешь подробнее или линк? Мне удалось найти еще Даусон 3-е издание, но это 2010. Смотрю английский онли, если что.
#325 #503067
Пиздос. Пришла свинья, хрюкает тут, весь тред засрала. И это питонисты?! Суки, мудачьё! лучше игнорировать этого дауна братишки
#326 #503071
>>502941
Импортируй этот файл через import.
#327 #503087
Поясните, как пользоваться пайтоном через консоль?
Например, у меня есть простенький код программы, а что дальше?
24 Кб, 466x179
#328 #503088
>>502992
Пик.
Кавычки вообще зря удвоил - они одно и то же значат.
#329 #503097
>>503087
Бамп вопросу.
Я, читал тред, тут про советуют юзать саблайм, он у меня есть, допустим я написал в нём код, а как его выполнить?
Из саблайма или с консоли?
#330 #503108
>>503097
F7.
А почему так много народу появилось в треде, которые прям с места в карьер? Каникулы вроде давно уже начались.

Или это какой-то зелёный семёнит?
#331 #503109
>>503108
Я не зелёный и не семеню, я еще вчера спрашивал.
#332 #503111
>>503108
Да писал уже постов 50 назад, на мой вопрос никто так и не ответил, вместо этого какую-то хуйню по хоткеям спрашивают
#333 #503113
>>503108

>F7


У меня, почему-то, ничего не происходит. Это в саблайме?
#334 #503117
>>503111
Очевидно, не ответили, потому что не знают ответа, а новичкам отвечают, потому что знают ответы на их вопрос. Ты так говоришь, словно все всё знают, но имеют проблемы с приоритетами. Я вот всем отвечаю.

>>503113

>допустим я написал в нём код, а как его выполнить?

62 Кб, 1913x1081
#335 #503119
>>503117

>>допустим я написал в нём код, а как его выполнить?


Ну, я написал код, жму F7, вот что выдаёт и все.
#336 #503123
>>502972

> Setting up Python on Windows.


В большинстве современных дистров 2я и 3я ветка питона установлены по-умолчанию. На винде очевидно его надо устанавливать специально.

> есть существенные отличия, работать с питоном из-под Виндовс или через linux terminal.


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

> для возможности follow his instructions


Нет. По крайнем мере когда я читал эту книжку у меня на винде проблем не было.
#337 #503126
>>503117
Ты добрый, и опытный, а я злой и завистливый.
#338 #503127
>>503119
С хелловорлда начни карьеру программиста.
28 Кб, 1302x754
#339 #503129
>>503127
Ну, я по гайду делаю...
Вот, всё равно на ф7 ничего не происходит. Вернее происходит - табличка снизу, но там не печатает привет мир.
#340 #503130
>>503126
Раз про бота никто не ответил, задам другой вопрос. Где можно почитать про eventы в питоне?
#341 #503131
>>503065
Бамп.
Хочется узнать, какой же он, актуальный Давсон.
Это? http://www.amazon.com/Python-Programming-Absolute-Beginner-Edition/dp/1435455002
#342 #503133
>>503129
Там выше по треду моя программа выложена на файлдропсе.
#343 #503137
>>503133
Там йоба.
#344 #503146
>>503129
Странное дерьмо, анон. Думаю, что-то не так с установкой.
Например, я не вижу пайтона в path, что выводится этой консолью. Но у меня выдается другая ошибка, когда я вручную удаляю из своей - ругается на то, что система вообще не знает такой команды. Сублайм третий? А то там легко скачать второй, которому уже много лет - странное решение разработчиков, тем более, что третий уже более чем mature.

https://www.sublimetext.com/3
#345 #503150
>>503146
Третий, да.
Но, у меня саблайм портативный - может из-за этого?
Питон в РАТН есть, только что устанавливал и галочку отмечал.
#346 #503163
>>503150
Тогда не знаю - гугли или забей до поры. Нужную тебе команду можешь увидеть в аутпуте - "python /blablabla/kokoko/script_path.py", опция "-u" не нужна только.

Когда-то использовал портативный, проблем вроде не было. Сейчас у меня тридцатидвухбитный Пистон и шестидесятичетырехбитный Сублим, установленный из инсталлера. BTW, кто периодически лазит в виндовый энвайронмент (и не только в PATH), советую вот этот гуй на замену дефолному: http://www.rapidee.com/en/about
#347 #503200
Короче, разобрался. Довсон и бывает максимум в Третьем издании. Дата выпуска оного 2010. Просто на русский переведено в 2014 (ололо, рашка как всегда слоу, учимся в 2014 по учебнику 2010).

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

И сразу вопрос.

В первом издании Давсон презентует функцию инпут так:

raw_input('\n\nPress any key to close window bla-bla')

В третьем издании уже так:
input('\n\nPress any key i t.d.')

Можете пояснить, в чем писечка перехода от функции роу инпут к инпут?
81 Кб, 599x611
#348 #503202
Так котаны. Вообщем есть файл setttings.py, там есть такая строка DJ_PROJECT_DIR = os.path.dirname(__file__)
Я запускаю интерпретатор. Импортирую файл settings. Потом пишу " print settings.DJ_PROJECT_DIR" и получаю.... нихуя, пустую строку. Что бы это могло означать, почему так?
#349 #503205
>>503202
os.path.dirname(os.path.abspath(__file__))
Попробуй.
#350 #503207
>>503205
Мне нельзя там ничего трогать.
#351 #503215
>>503202
from settings import DJ_PROJECT_DIR
print DJ_PROJECT_DIR
#352 #503220
>>503207
Воссоздай ситуацию на компе у себя и попробуй.
#353 #503236
>>503215
Тоже самое что и я написал.
>>503220
Хорошо анон. Есть приложение на Опеншифт - джанго. Эта хуйня работает и локально и на сервере. Можно запускать свой проект и на домашнем компе - python manage runserver ну ты понял.
Проблема в том что статику - css, images etc, они сделали как то странно. Есть папочка static, в нее складываешь это все говно и оно работает. Но только на сервере. На локальном компе - хуй.
Мне надо научить проект отличать мой локальный комп и сервер. Надежда конечно слабая что вы ответите, но я пытался.
#354 #503284
>>503236
И нехуй тебе отвечать. Такое объясняют джунам, отвешивая им пиздюлей и брызгая слюной, особенно когда они ломают проект при деплое - тогда его пиздит отдел тестирования ремнями с бляхами. Ебаные вонючие тупорылые джуны.
#355 #503296
>>503284
Хуясе эмоции. Ты почему такой злой? Я не против получить пизды, но только с условием что бы в конце экзекуции были данны объяснения. Щас попробую через os.path прощупать где файл находится. И почему сразу ломать? Есть же гит.
#356 #503325
Я ничего не понимаю: читаю туториал, пытаюсь что-то сделать, даже просто скопировать код и ничего не получается.
1 строчка отсюда вообще не работает, как и 2, что за туториал такой?

>>> import sys


>>> sys.path


['',
'/usr/lib/python31.zip',
'/usr/lib/python3.1',
'/usr/lib/python3.1/plat-linux2@EXTRAMACHDEPPATH@',
'/usr/lib/python3.1/lib-dynload',
'/usr/lib/python3.1/dist-packages',
'/usr/local/lib/python3.1/dist-packages']

>>> sys


<module 'sys' (built-in)>

>>> sys.path.insert(0, '/home/mark/diveintopython3/examples')


>>> sys.path


['/home/mark/diveintopython3/examples',
'',
'/usr/lib/python31.zip',
'/usr/lib/python3.1',
'/usr/lib/python3.1/plat-linux2@EXTRAMACHDEPPATH@',
'/usr/lib/python3.1/lib-dynload',
'/usr/lib/python3.1/dist-packages',
'/usr/local/lib/python3.1/dist-packages']
#357 #503327
>>503325
Что это за аутпут, как понять, что у тебя ничего не получатся?
27 Кб, 600x600
#358 #503329
Посоны, тхредж захватил зеленый.
#359 #503330
>>503327
Я не понимаю, одни говорят одно, другие другое.
Пишу в саблайме код, сохраняю в файл, запускаю файл через консолЬ: python.exe file_name.py ничего не работает. В самой консоли тоже ничего не работает.
Сейчас попробовал написать в питон шелле, который никто не советует и всё заработало.
Поясните, что в саблайе я делаю не так?
Как правильно делать?
#360 #503332
>>503329
Кто такой, этот зелёный!?
Кто такой, это все из б?
Кто такой, лол?
Кто такой, такой?
Кто такой, м!
#361 #503334
Пошли в пизду, пойду лучше в php тред, там ламповее.
#362 #503335
>>503334
Там котятки. У меня аллергия на котятков.
#363 #503336
>>503330
Дотадебил, не?
Как пишешь к пайтону? Скрин блять прикрепляй.
c:\python\python.exe c:\python\file.py
А вообще ты дебил, ты должен НОРМАЛЬНО ПОСИДЕТЬ БЛЯТЬ И ПОНЯТЬ, ЧТО И КАК ДЕЛАТЬ. ВСЁ РАСПИСАНО ДАВНО
#364 #503337
>>503336
Ему уже 100 постов это пишут, но как видно не доходит
#365 #503339
>>503337
Школьник вас затралил, очевидно же. С каких пор анон такой наивный?
#366 #503341
>>503339
Тематика же. Плюс по началу забавно было, правда интересные вопросы игнорили.
107 Кб, 1899x563
#367 #503343
Я никого не траллю, сейчас поясню: вообще я пишу в саблайме, потом сохраняю файл под именем test.py, а потом через консоль его запускаю: python.exe test.py и консоль выдаёт результат - так тут советовали. ТАк?
А потом мне попалась такое задание, где надо написать import sys, но оно ничего не давало в консоли, но в шелле выдало такой результат.
МОжет я что неправильно делаю?

Я не троллю, а учусь. Просто, я еще многого не понимаю.
#368 #503344
>>503330
Учить формулировать проблемы. Точно описывай свои действия. Пиши ошибки, которые тебе выдаются, подписывай куски аутпута, чтобы было понятно, что это не рандомное говно. Пиши, что хотелось получить, а что в итоге вышло. Ты описываешь проблемы как тупая пизда, и с такими вопросами в пыхотреде тебе тоже рады не будут.

>ничего не работает


"Сделай что-нибудь."

>>503339
Ну хз. А в чем смысл?
#369 #503347
>>503343
Всё работает нормально, ничего не должно печататься. Импорт ничего не печатает. Твой скрипт сейчас просто импортирует модуль и на этом его работа заканчивается. Чтобы напечатать что-нибудь в консоль - напиши print(shit).

Пайтон шелл самостоятельно принтит просто.
#370 #503348
>>503347
Так я всё верно делаю на счёт консоли и саблайма?
Просто, может я сейчас неправильно делаю.
#371 #503352
>>503348
Интерактивный режим отличается от исполнения .py
Поэтому например sys.path не печается из .py
#372 #503353
>>503348
Сублайм не требует консоли, так как сам умеет запускать скрипты. Пайтон шелл - это не то же самое, что cmd. Напиши в cmd "python" и откроется пайтон шелл, в который ты можешь писать питоньи стейтменты. Напиши там exit() и выйдешь обратно в командную строку.

>Просто, может я сейчас неправильно делаю.


Ну, ты какбэ полтреда утомил уже, что анон говном кидается. Может, умеришь количество дурацких вопросов в пользу гугла и самостоятельного пердолинга?
#374 #503462
>>503200
Читай блядь доки!

Разница в том что во втором питоне были raw_input и input. Первый возвращал обычную строку str. Второй пытается парсить введенный текст как питонячий код.
https://docs.python.org/2/library/functions.html#raw_input
https://docs.python.org/2/library/functions.html#input

Теперь в 3шке оставили только input и он возвращает только пустую строку.
https://docs.python.org/3/library/functions.html#input
#375 #503463
>>503462

> только пустую строку


только обыкновенную строку str.
70 Кб, 427x604
#377 #503533
>>502069

>А в чем разница между оператором и функцией?


Математически -- практически ни в чём. Во многих языках единственное отличие оператора от функции это инфиксная нотация (запись "a + b" вместо, например "+(a, b)"), Питон -- не исключение.
Операторы имеют определённый приоритет (precedence), он определяет, в каком порядке они вычисляются (операторы с самым большим приоритетом вычисляются первыми, например, умножение вычисляется до сложения).
Также они имеют определённую ассоциативность, левую или правую. Этим определяется, по какую сторону от инфиксного оператора аргументы вычисляются в первую очередь.
В твоей цитате написано, что во многих языках функции являются операторами с определёнными ассоциативностью и приоритетом, часто с обязательными скобочками вокруг аргументов.

мимокрокодил
#378 #503552
print "\a"
sounds the system bell of your computer

Типа должно возвращать звуковой сигнал. У меня нет. Почему?
#379 #503651
>>503552
Модуль для пищалки включи, modprobe snd-pcsp например. Еще в бивисе может быть выключена.
#380 #503664
>>503552
print("\a")
На winХР будет работать, на 7, ... - нет.
http://www.transl-gunsmoker.ru/2010/06/beep-windows-7.html
#381 #503945
Пицоны, я тут туториал читаю, поясните почему цикл фор работает так:
for i in 'hello world':
print(i 2, end='')

>hheelllloo wwoorrlldd


Т.е. для каждого i в "Хелло ворлд"
Он печатает i
2
Я не совсем понял. Я, раньше, изучал пхп, там он был понятный, а тут нет.
#382 #503947
>>503469
Годная книга?
#383 #503959
Поясните ультрадебилу, почему range не создает список?

>>> range(10)


range(0, 10)

Хотя везде пишут что должно быть так:

> >>> range(10)


>[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

#384 #503963
>>503959
В питоне 3 range генератор. Во втором таким же был xrange, а range просто отдавал лист. Чтобы "опустошить" range в 3, можно сделать list(range(10)), но это имеет мало смысла, ведь генератор же.

Читай современную документацию под питон 3, а не говно мамонта.
#385 #503966
Как я понял в стартовой версии нет функции рандома? А как подключить?

Кстати, эта книга не устарела? 2011 всё-таки. >>503469
#387 #503968
>>503966

>стартовой версии


Питон ультимейт максимум едишон кряк скачать безплатно безсмс
#388 #503969
>>503967
А как его подключить?
Что на счет книги? Сейчас она уже устарела?
#389 #503970
>>503963
Спасибо.
#390 #503974
import random
random.random()
Пишу такое, ничего не происходит.
#391 #503975
>>503969
Импорт и есть "подключение".

>>> import random


>>> random.randrange(10)


2

>>> random.randrange(10)



Про книгу хз, я не помню по какой версии лутц пишет и смотреть лень. Если там питон 2 - нахуй.
69 Кб, 950x614
#392 #503977
Что я не так делаю?
#393 #503979
>>503977
Ты опять выходишь на связь? Я тебе вчера говорил что работа интерактивной версии отличается от исполнения файла. Интерактивная печатает все подряд, в исполнении надо явно юзать print(random.randrange(10))
#394 #503980
>>503977
ОЙ, там же надо было принт написать, извиняюсь.
Просто, меня путает то, что в туториале нет принта...

>>503979
Точно-точно!
82 Кб, 1024x558
#395 #503983
Поясните, как сделать так, чтобы в рандоме были цифры от 1 до 10, включительно?
57 Кб, 1288x596
#396 #503985
Кто-нибудь может мне пояснить что тут произошло и каким образом там напечаталась эта строка?
Я, что-то, не совсем понимаю ФОР.
#397 #503986
>>503983
Сделать разброс от 0 до 11?
#398 #503988
>>503983
И можешь не указывать типы данных.
#399 #503989
>>503988
Я хотел чтобы писало без дробной части.
#400 #504006
Блядь, какой отвратительный паразит.
#401 #504007
>>504006
Кто?
#402 #504010
>>503983
Родина дала тебе хорошие доки, нет надо жрать говно.
https://docs.python.org/3.5/library/random.html

>randrange

#403 #504011
>>504010
я тебе в ебало дерьма напихаю с этой хуйней с этого сайта.
НОРМАЛЬНАЯ ИНФА ЕСТЬ?
#404 #504013
>>504011
Нормальная - это на рюске?
#405 #504015
Поцыэнт в неадеквате, и можно смело слать нахуй не мучаясь угрызениями совести, фух.
#406 #504017
>>504015
Это не я, если что: >>504011

>>503983-кун
#407 #504022
Сегодня и вчера тут театр одного идиота?
#408 #504024
>>504017
Тогда ладно. Но ты всё равно задрал.
#409 #504025
>>504022
ШОК. ПИТОНОТРЕДЫ УБИВАЕТ НЕАДЕКВАТ-РУБИСТ
Именно так, анон. Я бы схожу мочераторам, если он не уймется
#410 #504026
>>504025
Не удивлюсь если это сам мочератор-рабист.
#411 #504027
>>504022
Нас тут, как минимум, трое - с вопросами уровня бэйсика.
#412 #504031
>>504026
Да ну. Досуг уровня /s/ какой-то.
#413 #504038
Добавил в шапку треда ссылки на документацию и курс на edx- переложение SICP на Питон
вопрос с пiдвохом #414 #504039
False is False is False

Что получится в результате этого выражения и почему?
#415 #504048
>>503985
По-моему, просто декартово произведение получилось.
#416 #504055
>>503985
For перебирает елементы обьекта, который можно итерировать. А ты сделал генератор for вложенным в for
#417 #504057
ДАЫУНЫ ОТВЕТЬТЕ МНЕ ПРО РАНДОМ СуКА
#418 #504063
Я тут недавно, но хотел узнать, у вас тут всегда в треде столько неадекватов?
#419 #504064
>>504063
Это какая-то зелень залетная.
#420 #504072
Просто пиздец. За несколько дней тред скатился в говнище.
#421 #504073
>>504072
/py/ was never good.
#422 #504091
Аноны, как устанавливать расширения для пифона?
где то видео откопал, там надо было скачивать exe файлы с сайта, но там файлов ехе больше нет! а какие-то ебучие whl файлы!
нигде не написано как их устанавливать!
#423 #504094
#424 #504100
>>504091
Ведь так сложно сделать apt-get install pip
и
pip install yoba-package

Дали им пакетные манагеры, пользуйся. Нет, хочу руками качать кряккейгенультимейт.пу.езе
93 Кб, 600x421
#425 #504134
>>503284
Злобный пробытый пидор. Я сам все сделал. Ты залил блядь весь тред своей пидорской желчью.
#427 #504201
Анон охуенно объяснил разницу между функцией и оператором.
а + b, + - оператор.
+ (a, b), + - функция.

В чем разница? Я считаю, разница в значимости, в статусе, если угодно.

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

В случае с функцией уже наоборот. Именно "+" у нас становится корольком. "+" - это определяемое слово, а "а" и "b" всего лишь распространяют, уточняют его. Вместо а и б легко может оказаться Ц, Ф, да что угодно, это просто параметры для функции, песчинки на дне аквариума. А и Б приходят и уходят, а "+" остается.

Разница в акцентах. В отношениях власти и подчинения.
#428 #504207
print 'Hello World'*1000000

Лол.

Как остановить, посоны? Ктрл+Д не ломает.
#429 #504208
>>504207
kill -9

Алсо

>python 2


>2015

12 Кб, 275x420
#430 #504213
>>504201
Нет никакой разницы, у Вас фашизм в голове.
#431 #504250
Поясните, я всё правильно понял что чтобы делать сложные проекты - нужно использовать библиотеки?
#432 #504253
>>504250
Нет. Можно писать все самому, а можно даже в одном файле, делать cat ./yobalib/*.py >> main.py. Но насколько тебе удобно с таким работать?
#433 #504254
>>504253
Так, некоторые библиотеки делали годами, например, игры с 3д графикой етц - это опенглы и директиксы?
#434 #504258
Бэкслэш в значении абзаца ставится между кусками одного стринга, но не между двумя стрингами?

print 'piepiepeiepepepepepepepepepepepepe \ piepiepiepiepiepiepie'

но не
print 'piepiepiepiepiepiepie' \
print 'piepie'

Правильно?
#435 #504260
>>503236

> Мне надо научить проект отличать мой локальный комп и сервер


http://stackoverflow.com/questions/1626326/how-to-manage-local-vs-production-settings-in-django
#436 #504366
Питоны, подкиньте годный гайд по изучению языка? Вроде, основные функции етц. посмотрел, а что дальше делать - не знаю.
#437 #504369
>>504366
Писать имиджборду.
#438 #504370
>>504369
Но ведь это дело пхп + скл?
#440 #504377
>>504373
Но я хотел в разработку игр, а не сайтов. Для сайтов я и так знаю хтмл, цсс, скл, пхп и прочую парашу.
#441 #504423
>>504377
Игры на крестах без кастомных аллокаторов тормозят, какой питон?
#442 #504424
>>504423

>кастомных аллокаторов


Это что?
61 Кб, 500x400
#443 #504436
Антон, как из списка удалить все элементы, которые к примеру '\n'?

есть же способ это делать красиво, а не так:

[code]while True:
try:
b.remove('\n')
except ValueError:
break[/code]
#444 #504438
>>504423
1. Каких игр?
2. Pygame
#445 #504440
>>504438

>Pygame


Что это такое?
Что даёт?
Просто костыль для создания простеньких игр?
#446 #504442
>>504436
Фильторов тебе не завезли?

>>> l


['\n', 1, 3, 4, '\n', 9]

>>> list(filter(lambda x: x != '\n', l))


[1, 3, 4, 9]
#447 #504443
>>504440
Посоны, не бывает таких упорных и таких дебилов. Третий день он тут. Я вам гарантирую, это моча-рабист тралит.
#448 #504444
>>504443
Просто спросил.
225 Кб, 1500x1001
#449 #504451
>>504442
ох, чертяка, спасибо! я не
правильно фильтры готовил.
при в дар эти две нефти.
#450 #504452
>>504451

>две


А вторая где? Опять наебали.
#451 #504453
Нужно из строки взять числовые переменные.
Если можно, напиши код нормальный код а то мой похож на индуский.
num = str(input())
i = ' '
j = 0
a = 0
b = 0
c = 0
d = 0
var = [a,b,c,d]

for i in num:
\tif i != ' ':\t
\t\tvar[j]=int(i)
\t\tprint (var[j])
\tj += 1
#452 #504454
>>504453
[code lang="python3"]
num = str(input())
i = ' '
j = 0
a = 0
b = 0
c = 0
d = 0
var = [a,b,c,d]

for i in num:
\tif i != ' ':\t
\t\tvar[j]=int(i)
\t\tprint (var[j])
\tj += 1
[/code]
#453 #504456
>>504454
не судьба, я тоже выше облажался по faq
#454 #504458
>>504454
Что за строка то? lkj123 брать? Если нет - все просто.

>>> re.findall('\d+', 'lkajsdf 123 ll 1 m 2 n 444')


>['123', '1', '2', '444']

#455 #504476
З командой строки взять три переменные, через пробел
#456 #504541
ЖАЪЫЛЮШОХЮ ТЙВЫЖА ЪОКЮЬИ МЯЭАВЙЩЮЩИДЕ ЬЕГЯЭЕ НЮФЯДЯЖУЗЮЛУ МЯЗЙЪЕ СУ ВЙНАПЕВЫНУ ШЙНЙЛЕЖЮСЯЦУ ВУТИГЙЩЯНО ГЮФАКЫ КОЛЕ КИВАРЫ ДОДАВЙГЙСЫ ЗАЛОЛИ ДЙЖЫСЯЛИТО ЖЙ ЭЫЗЮКЫ ВЙФЮЪЙ НЯХЕШУГА ГЙЖУХЕЦЙРЕ ЦЕЪЮРЮ ЪЙКЮВАРЙ ЖАЪЯШЯ СЯБЯГИЬО ЪЫЬАЧЙ ХУЪЕЬУ ЩЙФЫКАЗЫБЫКЯ ЛЯЖАЪА ФИ ЪУВЙЪЮМЫЗЕ КЯ ДОРЕНАЪЙ ШАЬУКОНЫЛЕ ВЫЬЫ ЗЮПЫ ЦЫБУЗИВОЖОВЮ ЖОФОЖЙКОЬИ ВУНОГУ ХЯ ЖЫФЕЧИШЫ РЯЦУЭЕ ШЯКЕЬО ДЙЖЫ ЪЮЖЫШАЪЮ ПЯТИСЫШУ ТЕХУЪЯМЮ ВЮВИ ЬЕРИ РЙЦЕЩЯ ШАЛЯРЮНОНЮЦЯ ГЫ ТОТЫЩЯ РИМЯДИПИГЫ ЖЯМОДЮЬИ ЖЫНИ БОЧЙМИМЯПИВЮ ДУШИЪУЬЯ ХЮРЙВУФЫВЯРЮ РЕ ЪЯЩЯФЫТЕХЮЖЯ МЙНЫКОЖУВЮ РЫ ФЕЖИЩУ ТЮЖЯРОГИМОЬЙ ВЯДАМЯЖЙ ХЕНУХОВЕ ВЙХОЬУЗИЧУМО ЦИЬЯЩАЛЙЖЕ ЪЮКИТЮЖЫ ХЮЧАЩЯМУ ПЫ ЭЙ ПОТЕЬАФЙПЫГО РОВУСЯ ЦАГЯМАТЕБЯДЮ РУЧА ГОЗИ ВЕЩАШЮ СЕ ФЙБЕЦЮДЫНЕЦЕ ЗЫ ВЕКЮШОЭЯ ВЮЩОСЕТУ МЯШЮЦЕЗЫЦАДЮ БЮПИ ЩЫЧЙТЮСЯГАЦЕ МУДЮЭЮСАШЮЧЮ ЩИ ТОФИЦЙЭАБЙЦЫ ГИДЯ ЭЫЖЮСЙЬУ БИПАЬЯТАСЯКУ ШЮ ГУДИПОЗЮСЯ ЬУЭЯЪО КЙ ХОСАТЕШЙ ЪЙНУВИ КИ СЫ ЧЮЗЯ ГЕЪЯХИЦЮЩЫ ХЯЩЫЧИДЕ ЦУЭУЖИТЫТЮ БЕЗАФЮПЙЬУВА ЖИДЕЪА НЕМЮГОТЙ МАДЯСЕПЕФЮШИ ХОЬУ ЩЮЧЫ ЩЙ ДЙТЮЧИВАДО ШОРЯЛЕ КЙЧУЩЮ ЪОШИПЫЖОХЫ ЖИСИЭАЛАДО ЖАЖЕ ЦЫДЕКЕЩИМИ ЖИЭЮХЕХЫ ЛЫТЫЗЙ КЫФЕЦЯШЕЛИВИ СЯЩО МЕ ТЫХЮЧИШОЩЙ ЩЕ СУЭЫ ДЫЧУЛЯДИСЙНИ ЭЯФЮГИМЫРА ШЯЧИТОЗЯПУ ФИТЫЪЫ НЯДЫМЕ БЫПЕРУНЙЦОЗЫ ТЕЦУЭОЛЮЖЯ РИЪЕБУЩЕ ПУЧЕБИКЙКЫРЫ НУГАБЙЗЫЧЫ ЧЙЖОДАКУ ГАВОЦЙЩЙБО ЭУВЙ МО ХОЛЯПЕ ТЙ ВЯФЙДЙЩЮНИ ЖЫ ЬИЗЕПО СЯХАЗЫКЮЖЮМЮ НЮ ФЯГЮХУФАСО ДЕЬУЧУВЙВЫЪУ ЗО СОЖЫПЯЭЯХАКЕ ФАХЕЗЙШЕЪО ФЙ ШЙ КЫСИГЙХИ СЯХАЩЫТЫ ЦЯСЕ БАШЯЦО ДЮ ШЙВИ ЬЕЧЫЧЮ ВА ХАЩЕВЮТЫМА ТЮЬЮ ПЫ КЫ ЬУЩЫБЕ ХЕ ЪЙПАБА ГЙЩЙРЯГЫШЙ ЩЕЬИФЮЛЫГЫЛЮ РАХЮХОДЙЖЙВЮ ГЯТУГЯФА ПЫПЙНЯФЫ РЕЖЙПУГУ КАЗЙЛЫБУЩИ СЕМЙ ЖОТЮ КО ЧЯЦАДЮ ЩЕНУЧЙЪО НЮ ПОТО ЛОФОХЙНАРУСА ЗУХЕКАГОМУ ЛЙЗЕТЙ РИЛЮЗЙ НЮША ХЮЭЫГЮВЙЗЙ ЧУЬАЪУЦЯКЕ ВЫПЫГОЩИФА БЫЧУРУЬЙ ШАЩУЭЕХАЭЯЖЮ ГЯВЕБИ ГЯФУРЙФЫХАЬА ТАГУКИЖЫКЕКЮ ШЯ ВА .
#457 #504629
>>504423
То-то все пердолятся сишарпом в жопу в юнити, ага.
#458 #504687
>>504453
out=[i for i in "стр0ка1" if i.isdigit()]
Пойдет?
#459 #504706
>>504442

> lambda x: x != '\n'


Лямбды тормознутое говно же.
filter('\n'.__ne__, seq)
#460 #504793
>>504201
Пост твой не читал. В питоне
a + b
это
a.__add__(b)
91 Кб, 260x295
#461 #504849
>>504706
Мамкин оптимизатор закукарекал заместо авроры.
138 Кб, 967x1400
#462 #504850
Анон, заметил тут такое поведение '' в питоне - если передать в функцию лист перед которым стоит звездочка, то она как бы "раскрывает скобки", лол. Коряво выразился, конечно. Просто я плохо понимаю такое поведение этого оператора(?). Смотри лучше пример:

> def foo(x):


print x

> foo([5])


[5]

>foo([5])


5

>foo((5,))


5

>foo([5,6])


Traceback (most recent call last):
File "<pyshell#63>", line 1, in <module>
bar(*[5,6])
TypeError: bar() takes exactly 1 argument (2 given)

Так вот, что черт возьми происходит, и где про это можно прочитать?
#463 #504851
>>504850
На ideone, быдло!
#465 #504853
>>504793

>a.__add__(b)


Почему не

>operator.add(a, b)


?
706 Кб, 1003x1416
#466 #504855
>>504852
Cпасибки!
#467 #504903
Вот так реализовал разбитие файла на несколько частей. Как бы это сделал анон?
http://ideone.com/qAwOZE
#468 #504906
>>504853
Не знаю.
Вот, например:
http://ideone.com/SbDObt
#469 #504907
>>504855

Это же k project!
#471 #504967
>>504935
Ну суть примерно та же. Интересно, только: у тебя используется .split('\n'). А если файл не текстовый?
#472 #505059
>>504967
Условий про типы файлов не было.

>А если файл не текстовый?


То без сплита + readlines()
#473 #505152
http://pastebin.com/MCB7YPL0 - есть либрари.
http://pastebin.com/fVzf4Nps - есть юзер этой либрари.

http://pastebin.com/N49rTwhB - я допилил эту либрали.
http://pastebin.com/XXLc6ecZ - и заюзал её, скопировав код юзера.
http://pastebin.com/XjW7NVZr - но на деле я хотел так. НО ХУЙ, КАК ВЫ ПОНИМАЕТЕ.

Скачать тут:
http://rghost.net/private/7hLlhDrXD/bae990723c3386afa15d82d3eed834f9

Можно ли импортировать юзера как-то без копипаста его кода? На деле я всё равно импортирую его, так как там много нужных мне функций, и либрари используется в одной из них - функция на сто с лишним строк, которую мне пришлось полностью скопировать, чтобы изменить одну букву.
#474 #505172
>>505152
Я нихрена тебя не понял. Унаследуй нужный метод и переопредели параметры в потомке
#475 #505177
>>505172
Параметры метода меня не интересуют. В теле нужного мне метода используется вызов к сторонней функции, которую я заменил своей реализацией. Обычно можно вызвать родительский метод и потом как-то дополнительно обработать результат, но в моем случае результат обработать не выйдет, родительский метод - здоровенная дура, которая делает всю работу и выдает законченный результат, который придётся заново парсить. Я метод целиком скопировал и заменил там название модуля на свой. Можно не менять и испльзоваь import mylib as lib, но метод всё равно придётся скопипастить.

Вопрос в том, можно ли подменить используемую им либу на пропатченную мною.
#476 #505178
>>505177
Сам скрипт юзера я менять не могу, но могу его импортировать и наследовать его классы. Я это и делаю, просто переопределение интересующего метода и заключается в копипасте всей простыни и замены одной буквы. Не знаю, может, ещё понятней можно объяснить, я, наверное, не могу в объяснения.
#477 #505203
Где можно почитать, как принято называть переменные, функции и классы в питоне и как приятно составлять докстринги?
#478 #505204
>>505203

>приятно


*принято
#479 #505205
52 Кб, 424x604
#480 #505211
habraproxy.py — это простейший http-прокси-сервер, запускаемый локально (порт на ваше
# усмотрение), который показывает содержимое страниц Хабра. С одним исключением: после
# каждого слова из шести букв должен стоять значок «™». Примерно так:
#
# http://habrahabr.ru/company/yandex/blog/258673/
# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
# Сейчас на фоне уязвимости Logjam все в индустрии в очередной раз обсуждают проблемы и
# особенности TLS. Я хочу воспользоваться этой возможностью, чтобы поговорить об одной из
# них, а именно — о настройке ciphersiutes.
#
# http://127.0.0.1:8232/company/yandex/blog/258673/
# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
# Сейчас™ на фоне уязвимости Logjam™ все в индустрии в очередной раз обсуждают проблемы и
# особенности TLS. Я хочу воспользоваться этой возможностью, чтобы поговорить об одной из
# них, а именно™ — о настройке ciphersiutes.
#
# Условия:
# Python 2.x
#
можно использовать любые общедоступные библиотеки, которые сочтёте нужным
# чем меньше кода, тем лучше. PEP8 — обязательно
#
в случае, если не хватает каких-то данных, следует опираться на здравый смысл
#
# Если задача кажется слишом простой, можно добавить следующее:
# параметры командной строки (порт, хост, сайт, отличный от хабра и т.п.)
#
после старта локального сервера автоматически запускается браузер с открытой
# обработанной™ главной страницей
def main():
print 'Coming soon...'
if __name__ == '__main__':
main()
Как такую хуйню сделать? Принять страничку как поток, рабзить на части пробелами и потом считать буквочки? Блять, подскажите пожалуйста, хули вы всегда только молчите или хуями, фаршироваными говном, угощаете.
52 Кб, 424x604
#480 #505211
habraproxy.py — это простейший http-прокси-сервер, запускаемый локально (порт на ваше
# усмотрение), который показывает содержимое страниц Хабра. С одним исключением: после
# каждого слова из шести букв должен стоять значок «™». Примерно так:
#
# http://habrahabr.ru/company/yandex/blog/258673/
# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
# Сейчас на фоне уязвимости Logjam все в индустрии в очередной раз обсуждают проблемы и
# особенности TLS. Я хочу воспользоваться этой возможностью, чтобы поговорить об одной из
# них, а именно — о настройке ciphersiutes.
#
# http://127.0.0.1:8232/company/yandex/blog/258673/
# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
# Сейчас™ на фоне уязвимости Logjam™ все в индустрии в очередной раз обсуждают проблемы и
# особенности TLS. Я хочу воспользоваться этой возможностью, чтобы поговорить об одной из
# них, а именно™ — о настройке ciphersiutes.
#
# Условия:
# Python 2.x
#
можно использовать любые общедоступные библиотеки, которые сочтёте нужным
# чем меньше кода, тем лучше. PEP8 — обязательно
#
в случае, если не хватает каких-то данных, следует опираться на здравый смысл
#
# Если задача кажется слишом простой, можно добавить следующее:
# параметры командной строки (порт, хост, сайт, отличный от хабра и т.п.)
#
после старта локального сервера автоматически запускается браузер с открытой
# обработанной™ главной страницей
def main():
print 'Coming soon...'
if __name__ == '__main__':
main()
Как такую хуйню сделать? Принять страничку как поток, рабзить на части пробелами и потом считать буквочки? Блять, подскажите пожалуйста, хули вы всегда только молчите или хуями, фаршироваными говном, угощаете.
#481 #505214
>>505205
>>505203
Для приятного составления докстрингов даже отдельный PEP 0257.
#482 #505219
>>505211
Кажется, ты сейчас получишь еще немного угощений.
#483 #505221
Питоны, поясните как разделять проект на джанге на приложения. Не совсем понимаю логику.
Вот, например, я решил сделать такое приложение: база данных текстур, каждая текстура это картинка, описание, ну и разная информация. Текстуры можно комментировать. Собственно все. Сколько здесь надо сделать приложений и как их разделить?
#484 #505222
>>505221
Эммм, одно? В чем проблема-то?
#485 #505224
>>505211

>Как такую хуйню сделать?


Спарсить контент со страницы (<div class="content html_format">(.*)<div class="clear"></div>), и работать с ним, чтобы не зацепить лишние теги. Далее, разбить контент по словам, исключая теги (их ломать не нужно этими "™"), и проверяя длину слова, добавлять при надобности "™". Ну и сервер поднять. Сейчас сделаю тебе набросок.
#486 #505227
>>505222
Да вот я тоже думаю что одно. Просто, все мои проекты такие маленькие, что получается что хватает одного приложения. Не интересно как-то.
121 Кб, 925x810
#488 #505238
>>505234
Забавно, что ты сделал сложную и специфичную часть задачи, но на простую забил, хотя средний человек поступил бы наоборот.
#489 #505244
>>505238
Мне просто спать хочется, лень доделывать. Заметил косяк.

>http://h...content-available-to-author-only...r.ru


Идеон шалит. В оригинале должно быть так

>req = requests.get("http://habrahabr.ru%s" % self.path)



И кстати, с текстом по-моему тоже не мало поебаться придется, я на джаве эту задачку писал, и заебался реплейсить так, чтобы теги не ломались. Хотя соуп очень удобная штука, минут за 20 можно закончить.
#490 #505245
>>505244
Не вижу сложности. Глянь.

http://pastebin.com/RHYAHR4F
317 Кб, 1416x808
#491 #505246
>>505245
А теперь замени string на огромный кусок html'ки, и сломаешь все теги и ссылки. Понимаешь о чем я (пикрелейтед)? А если стрипнуть теги, то как потом страницу в исходный вид приводить?
#492 #505249
>>505246
Подумал, что там сразу текст вставляется в div_content. Сам-то сеть два раза в год трогаю, то есть четыре раза уже потрогал.
45 Кб, 613x172
#493 #505252
>>505249
А еще вот такую штуку держи. В общем, мне понравилась задачка, если не лень будет можешь допилить.
#494 #505269
>>505234
НИХУЯСЕ! 30 сток! И это все? Надо научиться пользоваться парсером. Спасибо.
#495 #505273
Допустим, есть одна html-страница на локалхосте. На ней несколько картинок.
Просто какие-то переменные можно передавать через формы и cgi обрабатывать, это понятно.
Но как сделать такое колдунство, чтобы при простом клике по картинке запускался питоновский скрипт и в него передавался адрес (т. е. где она лежит на локалхосте) этой конкретной картинки?
#496 #505274
>>505269
Бля, стыдно что я такое написал. Я просто нашел эту задачу для кандидатов на должность django-разработчика и подумал что эта хуйня решается средствами django. Где аноны находите задачи для того что бы подготовиться к работе? А то обычно в объявлении вываливают кучу технологий и фреймвоков которых надо знать. сайт я уже сообственый делаю.
#497 #505285
>>505152
Ебанись, но походу оно работает изкоробки, просто то ли ошибка в другом месте была, то ли у меня сейчас что-то сломалось путём правильной работы. (Антибаг!)

from user import *
import mylib as lib
#498 #505288
>>505285
Disregard that, нихуя не работает, просто забыл перезагрузить модули.
32 Кб, 640x480
#499 #505297
>>505288
Ебанись™, но до меня дошло, как нужно сделать, ну и что имел в виду анон.

import mylib
import user

на пик смотри

user.lib = mylib
#500 #505300
>>505274
По питону требования обычно не такие ебанутые как по всяким ЕЕ-жабам.
Я даже сейчас прошёлся, то требования на веб-питонера как правило:
- django или фласк, редко оба
- html/css
- javascript точнее фреймворки типа angular, backbone, react, jquery
- какая-нибудь бд, обычно mongodb
- REST

Ну, обычный набор считай. Недавно один знакомый устраивался в хохлокомпанию пром.ua, там просили в качестве тестового задания написать простенький аналог аск.фм и подобных сайтов. Короче, ничего сложного. Так что я сильно сомневаюсь что где-то будут как-то дохуя заебывать. По алгоритмам обычно просят всякие физзбаззы, бинарный поиск, быструю сортировку и умение в рекурсии. ЧТО ТАКОЕ ИТЕРАТОРЫ ГЕНЕРАТОРЫ ООП. Ну, у него спрашивали только половину этого. Взяли.
4 Кб, 237x97
#501 #505340
>>505300

>в качестве тестового задания написать простенький аналог аск.фм


>я сильно сомневаюсь что где-то будут как-то дохуя заебывать.


Иван, ты либо крестик сними, либо трусы надень.
#502 #505348
Дайте пожалуйста пример гостевой книги на джанге, либо прочие незамысловатые примеры использования. Спасибо.
#503 #505377
>>505340
Если ты мне собираешься сказать, что тебе сложно написать простейший аналог аск.фм с 2 функциями - регистрация и задавать вопросы, то ты поехавший.
У меня лабы в универе сложнее были раз в 10, а вон в пхп треде и то задания некоторые сложнее у котиков и их повелителя аутизма.
Или ты из тех, кто принципиально не делает тестовые задания потому что НИАБЯЗАН?
#504 #505430
>>505377
Я ничего не говорил что ето сложно, поэтому не говори тут.
sage #505 #505440
>>505430

>ето


Ну на ЕТОМ и закончим. пиздец
#506 #505471
>>505348
Открой документацию джанги, там есть примеры.
#507 #505485
Пора перекатываться, похоже.

А пока не перекатились, спрошу.
Как в джанге получить только загруженное изображение? То есть вот оно есть, в базе есть запись о нем. Как по url получить просто картинку? Например, из контакта я же могу по прямой ссылке получить картинку:
http://cs628029.vk.me/v628029604/6fdd/CH5IljfDKgU.jpg
#508 #505487
>>505300
- какая-нибудь бд, обычно mongodb
Ни разу не видел. Скорее Postgre
#509 #505512
>>505485
https://docs.djangoproject.com/en/dev/ref/models/fields/#django.db.models.FileField
Читайте уже документацию, ну ей-богу же.
Или гуглом пользоваться учитесь:
http://bfy.tw/Ykh
#510 #505514
>>505485
https://docs.djangoproject.com/en/1.8/ref/models/fields/#django.db.models.fields.files.FieldFile.url

В шаблоне дерни атрибут url поля field/image поля модели
>>505512
Ты опередил меня на пару секунд
#511 #505517
>>505514
>>505512
Хм. Вот только я делаю с помощью ангуляра и tastypie, то бишь у меня инфа с сервера возвращается в виде json'a. Надо в этом направлении мне копать.
#512 #505522
>>505517
Ну и вызови .url нужного файла в вьюхе и отдай жсоном.
#513 #505526
>>505522
Именно джанговский view вообще не используется. Сейчас посмотрю как в апи именно url отдать, а не объект.
#514 #505530
>>505485
Алсо, вот такой ответ пока приходит. Как видно, изображение только путь дает. По нему можно загрузить изображение как-то?
9 Кб, 1919x308
#515 #505532
>>505530
Ну классика ёпт.
#516 #505536
>>505530
Ну, относительный путь на сайте к файлу. А ты что хотел?
#517 #505538
>>505536
А как мне его получить этот файл теперь? Чтобы отобразить на страничке с помощью ангуляра, например. Или скачать. Не совсем втыкаю что-то.
#518 #505540
>>505538
Эээ, вставить в img-тег?
#519 #505549
>>505538
Ну ты учти 2 момента:
1. Путь тебе дают относительно MEDIA_URLа
2. Надо сервак настроить так, чтоб он умел файлы оттуда как статику раздавать.
#520 #505550
>>505540
>>505549
Спасибо, учту. Сейчас буду пробовать.
#521 #505565
Сап, пайтонач.
Поправьте, если что не так, пожалуйста.
Интересует, как работают блокировки в subprocess.

Работает, например, три потока.
Один поток заблокировал переменную.
Остальные два потока работают, как работали.
Второй поток попытался "подключиться" к переменной (заблокированной) и приостановился, пока переменная не разблокируется.
Третий же поток, работал как работал (он не трогает эту переменную).

Всё правильно? Или где-то есть логическая ошибка?
39 Кб, 911x811
19 Кб, 957x504
22 Кб, 1035x531
#522 #505579
>>505540
Все таки я что-то не понимаю. Не выходит.
>>505549
Наверно действительно это связано с относительными путями.
Вот мне чего-то не хватает до понимания того как правильно работать с файлами и изображениями в джанго.
#523 #505590
>>505579
У тебя джанга через какой сервак работает?
#524 #505594
>>505590
Пока через свой.
#525 #505645
>>505594
Там все по-хитрому.
Джанга по умолчанию не умеет раздавать статику (в твоем случае - картинки) из директории, куда их аплоадят. Да и вообще- у нормальных людей статику раздает сервак на фронтенде. Но для разработки можно извернуться.
Посмотри как сделано вот тут:
https://github.com/sigurdga/django-jquery-file-upload
Особое внимание на django-jquery-file-upload/url.py
там в конце небольшой хак, для того чтобы джанга картинки из медиа-папки раздавала.
#526 #505658
>>505645
Спасибо, посмотрю завтра.
Скажи, а нормальные люди сразу используют боевой сервер даже для разработки у себя? Ведь все сообщения дебаггера джанги можно будет получать. А так будут условия максимально приближенные к реальным.
761 Кб, 500x323
#527 #505731
>>504849
профилировщик говорит, что ты пиздишь, що аж пиздец.
#528 #505738
>>505731
Причём здесь пижжу я или нет? Пифон для простоты, а не для скорости. Почти всегда, если ты упираешься в производительность, то значит либо делаешь что-то не так, либо пифон здесь не особо подходит. И это совсем не питонично изъёбываться с __magic__ чтобы выиграть пару секунд. Считать такты иди в ассемблер.
#529 #505807
>>505738
разве негация это такая сильная магия?

мимокрокодил.ёпж
#530 #505808
>>505807
Это условное название (магические методы), так-то там магии нет конечно же. Сами двойные подчёркивания уже говорят о том, что ты делаешь что-то не то и эти методы не для прямого обращения. В пифоне так не принято. Можно, конечно, иногда пошалить и в некоторых ситуациях это может быть и оправдано, но никак не по причине скорости работы. И уж тем более писать так везде не стоит.
#531 #505887
>>505738

>если ты упираешься в производительность, то значит либо делаешь что-то не так


Кстати удваиваю этого. Раньше гнал на всякую динамикопарашу, а потом оказалось что я просто говнокодер.
#532 #505888
И перекат запилите.
18 Кб, 836x787
#533 #505926
BAMP
http://pastebin.ru/NNSG4Cst

1998 --> 1+9+9+8= 27
27 --> 2+7= 9
#535 #506010
>>505972
Хуй через плечо блять пидорас залетный. Нахуй съеби если не понимаешь
#536 #506044
>>506010
Удваиваю >>505972-адеквата. Что это за хуйня?!
#537 #506064
>>505926
Хуже питона не видел.

>>506010
Ещё и ебанько.
35 Кб, 438x500
#538 #506073
как кошерно и по феншую складывать данные в sqlite3 из питона? так, чтоб никаких инъекций и хуйни, но выглядило не неряшно.

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

post = (123, '''петян раз-два''', '12-12-2012')
cursor.execute('''INSERT INTO posts ?''', post)
#539 #506080
>>506073
cursor.execute('''INSERT INTO posts VALUES(?, ?, ?)''', post)
164 Кб, 362x373
#540 #506112
>>506044
>>505972
Это программа, она складывает введёные числа, например вводишь 1998, получаешь 1+9+9+8=27, 2+7=9. Всё.
30 Кб, 203x201
#541 #506113
Запилите перекат, пожалуйста!
#542 #506118
>>506112
Что она делает понятно, нахуй ты её сюда притащил?
#543 #506123
>>506118
Блять, че ты меня так бесишь сука ебаная. Тебе не похуй, тугодум?
#544 #506125
>>506118
Чтобы ты спросил.
#546 #506128
>>506123
>>506125
Дибил.
#547 #506188
>>506112
какие нахуй числа? с чем она должна сложить 1998? ты упоротый?
#548 #506347
Новый Gevent поддерживает Python 3 и Pypy
https://pypi.python.org/pypi/gevent/1.1a1
sage #549 #506521
>>506127
Decent perekat, bro.

Ослепшие создали новый тред.
>>506124
ПЕРЕКАТ
>>506124
ПЕРЕКАТ
>>506124
ПЕРЕКАТ
>>506124
ПЕРЕКАТ
>>506124
ПЕРЕКАТ
Обновить тред
Двач.hk не отвечает.
Вы видите копию треда, сохраненную 21 июля 2015 года.

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

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