Это копия, сохраненная 11 августа 2016 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Код вбрасывать в тред через https://ideone.com/
Прошлый: >>790365 (OP)
Еба, ты умный.
Это что - чтобы тесты сами под новые функции писались? Или имеется в виду запустить nosetests и все?
Короче, переписал свой http-сервер на asyncio. Как теперь проверить сколько он продержится под нагрузкой? Какие подводные камни следует выследить?
Да позвони и спроси, долбоеб. Скорей всего такой же полоумный долбак писал так что норм, найдете с ним общий язык.
Вот блядь. Пошел писать.
Ты что такой агрессивный? Таким не место в питонотредах. Тут царит любовь, терпение и взаимопонимание. Я же думал, что в силу своей юности я не знал некоторых аспектов вокруг питона и под фразой "автоматизация тестирования" подразумевалось что-то конкретное.
Перекатился к вам из строгой типизации. Как вы вообще программируете без автоподставления в ide? Мне вот чет сложно. Всегда документация открыта чтоли?
Да хз, как-то проблем особых нет.
> Перекатился к вам из строгой типизации.
А у нас тогда какая? заебали уже статическую и строгую путать
Есть папка site, в папке site есть папка src. В каждой папке есть пустой __init__.py. В папке src один из файлов импортирует в себя другие, если его запускать как мейн - то всё заебись. Когда же я делаю другой мейн в папке site и, импортируя нужно барахло как import src.barahlo, то интерпретатор начинает материться на импорты в мейн файле из src. Что за хуета и как все сделать пиздато?
g: async pipeline python
фласк > джанго
В джанге есть джве модели. Родительская (не абстрактная) и дочерняя от нее. Есть ссылка по ForeignKey один ко многим с родительской на дочернюю.
При сохранении родительской модели из формы внезапно сохраняется и экземпляр дочерней модели с тем же id. Параметр ForeignKey почему-то передается как новый инстанс дочерней модели, хотя последняя не указана в форме. Это должна быть просто ссылка на id. ). Через админку все нормально, создается отдельно родительская. Как пофиксить?
Битчез донт ноу абаут май виртуалбох
> Как вы вообще программируете без автоподставления в ide?
Пиздос, а вот и современное поколение. По памяти, Маня.
Да еще это поле с ForeignKey я не добавляю в форму через шаблон, а передаю его значение через kwargs из url. Если вставляю поле в шаблон, то при ручном выборе все работает.
Не знаю кто отвечал на мой пост в предыдущем треде, но в любом случае спасибо, стало лучше. Сегодня перепишу своё говно.
И не говори, бро. Я-то в советские времена ооо... на перфокартах кодил, какие времена были...
>>795246
Поставь OpenBSD, раз линукс нельзя.
>>795104
Ты о чем? vim + jedi, дополняет, документацию показывает, только что хуй не сосет.
>>795116
>А у нас тогда какая?
Да походу никакой, если сравнение инта с булем может вернуть положительный результат, а строки являются массивами из строк (лолшто?).
>Да походу никакой
Не никакой, а динамическая. Я кстати тоже поначалу после С++ и C# жутко плевался, а потом ничего, приработался. Просто как-то сидишь и кодишь без задней мысли. Правда проекты все у меня очень простые.
Гораздо тяжелей я воспринимал невозможность передачи в функцию указателя или ссылки на переменную чтобы в последствии ее изменить, а не копировать.
Хотя добавлю, что мне больше нравится статическая типизация, просто потому что я вкатывался в кодинг начиная с С++ и это уже не исправить.
Следует отметить, что в питоне перегруженные операции для сравнения разных типов работают чётко и все документированно, это тебе не обезьяний пхп где:
Слабая типизация(всмысле, тихая автоматическая конверсия между строками/числами/всем остальным) настолько сложная, что она не стоит того, сколько бы усилий начинающего программиста она не сохраняла.
Ну и плюс инфернальный пиздец с пикрелейтед конечно.
>Не никакой, а динамическая.
Ну да. Есть всего один тип (объект). Безтиповый лямбда-калькулус короч.
>ссылки на переменную чтобы в последствии ее изменить, а не копировать.
Но это костыль из C/C++, в питоне можно хотя бы кортежи возвращать же и деструктуринг есть.
>мне больше нравится статическая типизация
Будто бывает другая.
Кстати, гайз, поясните за тайп-хинты в питоне. Оно типа в рантайме чекает? Или выводит (насколько это возможно)? Расставил их в коде, но при передаче значений с неверным типом ничего не происходит.
Как мы видим, первым аргументом мы отправляем distinguishedName группы, а вторым отправляем желаемую операцию в кортеже с массивом DN'ов пользователей или просто со строкой.
Только смотрите как интересно получается: если мы случайно, по какой-нибудь причине, похуй по какой, возьмём и вместо user_dn отправим пустой массив, то у нас ебанутся нахуй все члены из группы без возможности восстановления, что приведёт к моему последующему вылету с работы.
Посмотрите своим профессиональным взглядом, как от такого поведения лучше всего обезопаситься? Я перед вызовом функции каждый раз делаю if len(dn_array) != 1, но может у вас есть более лучшие идеи?
https://ideone.com/OA3glw
Импортирую модуль со своим классом в интерпретатор. Когда вызываю del(object), все работает нормально. Но когда использую exit() или Ctrl-D, получаю следующее:
File "/usr/lib/python3.4/shelve.py", line 239, in open
File "/usr/lib/python3.4/shelve.py", line 222, in __init__
File "<frozen importlib._bootstrap>", line 2237, in _find_and_load
File "<frozen importlib._bootstrap>", line 2222, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 2155, in _find_spec
TypeError: 'NoneType' object is not iterable
Почему такое может происходить?
Маня не умеет разбивать диски?
Да, смотри класс Queue.
Лол, как же я обосрался с 3 4 и 5 строки с конца. Боже, какой пиздец. Хорошо что я съебал из конторы где меня пытались это говно заставить учить, не испортил хотя мозга этим говном. Особенно про оператор индекса к любой переменной понравилось: ЗАЧЕМ, нет вот просто ЗАЧЕМ?
Какого типа проекты попадаются?
Надо кроулер, чтобы по наименованию гуглил, заходил на сайты с товаром и кидал цены и ссылку в табличку.
Про парсеры с сайта, хтмл разметку уже прочитал.
Как реализовать запрос в гугль и прокликивание всех сайтов, может, готовые решения есть?
Ты че, дебил? Иди гугл api читай.
1. Гугл тебя забанит после сотого запроса.
2. Для обхода по собираемым ссылкам существует scrapy.
>1. Гугл тебя забанит после сотого запроса.
Это можно как-то обойти?
Временные промежутки ставить, к примеру, как в для wget делается?
Той, с которой удобно.
Правильно ли я понял, что поисковикивсе? ограничивают доступ именно к поисковому апи?
Хотя тут, на второй пикче вон чего написано. И как различить в данном случае, моя программа коммерческая или нет.
Поясните по хардкору.
>Медленно, но верно Google перекрывает вебмастерам доступ к своим бесплатным API. Около полугода назад Корпорация добра закрыла сторонним специалистам доступ к API автозаполнения форм , мотивировав это тем, что данный инструмент изначально создавался для решения внутренних задач Google и не предназначается для использования на сторонних сайтах.
>Теперь настал черед сразу нескольких поисковых API. Уже 15 февраля посторонним будет заблокирован доступ к Google Patent Search API, Google News Search API, Google Blog Search API, Google Video Search API и Google Image Search API.
>Иными словами, Google запрещает владельцам сторонних сайтов использовать свои наработки для организации поиска по патентам, фирменному новостному агрегатору, блогам, видео и картинкам, соответственно. В качестве единственной замены этим продуктам предлагается Google Custom Search API .
http://pr-cy.ru/news/p/5338
Я все понял. shelf.open() вызывает shelf.__init__. В нем вызывается import dbm. И судя по всему, интерпретатор считает, что нехуй вызывать import во время сбоки мусора. Или что-то вроде этого.
>Особенно про оператор индекса к любой переменной понравилось: ЗАЧЕМ, нет вот просто ЗАЧЕМ?
Спроси у Гвидо.
Но вот я прочитал чуток и все что он пишет я и на винде сделал без всяких глюков и какой-то жопной боли.
Ну на винде же тоже работает бля, линукс все равно учить? Я конечно не против линукса, но ведь и на винде работает.
Если ты собираешься хеллоуворлды на ванильной джанге у себя на локалхосте гонять, то конечно и винда сойдет.
А если не хелоуворды? В чем там принципиальное отличие, что использование винды делает невозможным?
Все просто:
Есть Unix, есть питон, и одно и второе придерживается примерно одинаковых принципов типа одна функция выполняет только что-то одно, одна программа делает только что-то одно, но делает это хорошо. В юниксе питон смотрится природно.
В винде нет. Ты охуеешь еще pil ставить.
Я не против того что тебе лениво вникать в юник, но не вникая ты теряешь больше чем можешь получить. Если в итоге консоль тебя будет тяготить - ну видимо юниксы и питон это не твое, ничего страшного сейчас валом всяких интересных штук. Но попробовать я бы все же рекомендовал , и не в виртуалочках, а накатить какой-нибудь elementary OS ( что бы не слепнуть от убожества убунты но так же быстро искать ответы) в дуалбут и похуярить там.
Так если в 10 винду завезли убунту, значит там питон будет уютно смотреться.
Ниебически простая установка/настройка управление сервисами бд и прочим, много батареек/серверного софта либо linux-only, либо со статусом "ну мы на винде запустили, вродь работает но хуй знает... в продакшен лучше не совать".
Ну и тебя же никто не заставляет ОС менять, есть куча вариантов с виртуализацией.
> что использование винды делает невозможным
Очень сложным, не невозможным.
Ты даже и проксями не обойдешь, т.к. 90% вероятность, что они забанены. Добро пожаловать в реальный мир, где за услуги надо платить.
Типизация опциональна, прямо в языке не проверяется, нужно юзать линтер mypy: http://mypy-lang.org/
Мб там уже подкатились всякие плагины под саблайм/вим, которые умеют в работу с ним, а так можно поставить как step в каком-нибудь Jenkins'е
>>795005 (OP)
У меня еще одна проблема, связанная со чтением пользовательского запроса в asyncio. Хедер оно читает вменяемо, а вот всё что после одиночного \r\n - т.е. POST-запросы - не хочет, зависает. До этого использовал такой код, контент просто не читался:
data = b''
while True:
--try:
----line = yield from reader.readline()
----data = data + line
----if line == b'\r\n':
------break
--except:
----break
Теперь поменял условие на "if not line", оно же просто зависает. Не совсем понимаю, в чем дело.
Сейчас я буду писать онлайн-резюме на 1 человека на джанго и заёбывать вас вопросами
Что мы имеем?
Нужно написать выводилку резюме на одного человека с возможностью добавления мест работы (остальное сделаю по аналогии)
Что уже есть:
models.py
class Person(models.Model):
..name = models.CharField(max_length=30)
..lastname = models.CharField(max_length=30)
..mail = models.EmailField()
class Experience(Person):
..ref = models.ForeignKey(Person, related_name='work')
..position = models.CharField(max_length=30)
..fromtime = models.DateField()
..totime = models.DateField()
..description = models.TextField()
admin.py
from .models import *
admin.site.register(Person)
admin.site.register(Experience)
urls.py
urlpatterns = [
..url(r'^$', views.index, name='index'),
]
views.py
def index(request):
..template = loader.get_template('cv.html')
..context = {
....'person': Person.objects.all(),
....'expirience': Experience.objects.all().order_by('-fromtime'),
..}
..return HttpResponse(template.render(context, request))
Где я не прав?
Сейчас я буду писать онлайн-резюме на 1 человека на джанго и заёбывать вас вопросами
Что мы имеем?
Нужно написать выводилку резюме на одного человека с возможностью добавления мест работы (остальное сделаю по аналогии)
Что уже есть:
models.py
class Person(models.Model):
..name = models.CharField(max_length=30)
..lastname = models.CharField(max_length=30)
..mail = models.EmailField()
class Experience(Person):
..ref = models.ForeignKey(Person, related_name='work')
..position = models.CharField(max_length=30)
..fromtime = models.DateField()
..totime = models.DateField()
..description = models.TextField()
admin.py
from .models import *
admin.site.register(Person)
admin.site.register(Experience)
urls.py
urlpatterns = [
..url(r'^$', views.index, name='index'),
]
views.py
def index(request):
..template = loader.get_template('cv.html')
..context = {
....'person': Person.objects.all(),
....'expirience': Experience.objects.all().order_by('-fromtime'),
..}
..return HttpResponse(template.render(context, request))
Где я не прав?
Так не интересно. Мне интересно написание своего велосипеда сервера, чем использование готового.
При добавлении нового Person через админку получается такая срань:
>OperationalError at /admin/cv/person/add/
>no such table: cv_person
Но я не понимаю где и нахуя оно должно вообще быть
база данных разумеется создана через python manage.py migrate
так же создан суперюзер
других манипуляций с бд я не совершал
Теперь, уважаемые знатоки, внимание на экран
Вот что происходит при попытке создать Experience, то бишь место работы.
Зачем оно предлагает вбивать нового человека?
Если в rel выбрать уже созданного васяна - не меняется ровным счётом ничего.
Если указать relation между моделями Person и Experience не как models.ForeingKey? Но как иначе?
При
views.py
def index(request):
..template = loader.get_template('cv.html')
..context = {
....'person': Person.objects.all(),
....'expirience': Experience.objects.all().order_by('-fromtime'),
..}
..return HttpResponse(template.render(context, request))
и cv.html
<html>
<head>
<title>{{ person.name }}{{ person.lastname }} - CV</title>
</head>
<body>
<h1>{{ person.name }}{{ person.lastname }} - CV</h1>
<ul>
..<li>{{ person.phone }}</li>
..<li>{{ person.skype }}</li>
..<li>{{ person.mail }}</li>
..<li>{{ person.website }}</li>
</ul>
....
не выводится ничего касаемо объекта.
даже 'person': Person.objects.all().filter(id=1) (id 1 как я понимаю так величает его джанго) не помогает
При
views.py
def index(request):
..template = loader.get_template('cv.html')
..context = {
....'person': Person.objects.all(),
....'expirience': Experience.objects.all().order_by('-fromtime'),
..}
..return HttpResponse(template.render(context, request))
и cv.html
<html>
<head>
<title>{{ person.name }}{{ person.lastname }} - CV</title>
</head>
<body>
<h1>{{ person.name }}{{ person.lastname }} - CV</h1>
<ul>
..<li>{{ person.phone }}</li>
..<li>{{ person.skype }}</li>
..<li>{{ person.mail }}</li>
..<li>{{ person.website }}</li>
</ul>
....
не выводится ничего касаемо объекта.
даже 'person': Person.objects.all().filter(id=1) (id 1 как я понимаю так величает его джанго) не помогает
Отмена, ребят, решил с помощью
'person': Person.objects.first(),
очень чудно что он предусмотрен
Модель Person точно такая же как и раньше?
class Person(models.Model):
..name = models.CharField(max_length=30)
..lastname = models.CharField(max_length=30)
..mail = models.EmailField()
Больше ничего не добавлял?
Вот как они выглядят в оригинале
class Person(models.Model):
..name = models.CharField(max_length=30)
..lastname = models.CharField(max_length=30)
..mail = models.EmailField()
..phone = models.CharField(max_length=10)
..skype = models.CharField(max_length=30)
..website = models.URLField()
class Experience(Person):
..ref = models.ForeignKey(Person, related_name='work')
..position = models.CharField(max_length=30)
..company = models.CharField(max_length=30)
..fromtime = models.DateField()
..totime = models.DateField()
..description = models.TextField()
попробуй что-то типа:
admin.py
from .models import *
from django.contrib import admin
class PersonAdmin(admin.ModelAdmin):
pass
admin.site.register(Person, PersonAdmin)
class ExperienceAdmin(admin.ModelAdmin):
pass
admin.site.register(Experience, ExperienceAdmin)
У него две модели отображаются на одной странице в админке. Ему нужно, чтобы отображалась только Experience.
На данный момент оно предлагает заполнять Experience вместе с Person
Хах) Вот твоя ошибка
class Experience(Person):
Вместо
class Experience(models.Model):
Зачем ты указал родительский класс?
Ну смотри что я ещё хочу в эту фигню запихнуть:
Что бы объекты класса Person нельзя было создавать больше одного, дабы никого не смущать раз уж тут многопользовательность не нужна.
Как выводить поля в админку у меня вроде бы есть где-то, думаю там разберусь.
Далее буду маяться интернационализацией, экспортом в pdf и в итоге прикручу ещё и сраный бложик / форму обратной связи - пока не знаю какие у меня вопросы с этим возникнут.
Было бы здорово у тебя попросить почту что бы иногда спрашивать какие-нибудь вопросы, но хз.
Если есть желание - отпишись на mojLrsANUSopen3'3mailboxPUNCTUMor]1}g
Отписался
Если совсем на пальцах, запускается демон, ждущий сообщений в очереди -> запускается пул процессов сканирующих список подсетей и пуляющих результат в очередь -> в очередь пуляется флаг завершения сканирования -> хэппи-энд.
Правильно ли я понял логику работы queue и pool, в верном ли направлении иду? inb4 Не в верном, тебе нахуй.
https://ideone.com/lJoXjn
Теплое с мягким не сравнивай.
Просто суть в том, что база данных - это кеш, и у запрашивающей программы есть критерий, по которому можно определить, что данные в кеше устарели и их надо обновить.
Хотя можно просто программой забирать данные из кеша, и если они старые - скачать новые. Но вопрос - что делать, если вдруг и программа, и демон будут одновременно писать в базу данных? sqlite3 если что.
Сап, Питонач.
Работал долго аналитиком, а сейчас занимаюсь какой-то айтишной ерундой в одной большой компании. Устал себя превозмогать и хочу заново вкатиться в аналитика. Посерфил вакансии, в основном хотят знание героя этого треда и R. Не подскажешь, анон, где можно найти кучу больших данных для анализа? И было бы очень здорово узнать, есть ли тут те, кто занимается тем же и может подсказать неплохую либу для питона или какой-нибудь фрейворк для более детального и оптимизированного анализа.
Мне нравится Питон, но я еще хотел бы красивости, кнопочки, и т.д. Думаю, сесть на два стула. Говорят, HTML и CSS не долго учить
Если больше склоняешься к бэкенду, то делай упор на питон и джангу.
Но начальные знания hml, css, javascript, jquery, git будут очень полезны.
Зайди на апворк, например, и посмотри какие скиллы нужны вдобавок к джанге.
Часто попадаются проекты, где надо уметь что-то из вышеперечисленного + еще ссаный ангуляр жс.
Ну и уметь разворачивать проект - AWS, heroku
и всякое такое
А я вот не знаю. Похоже, жаваскриптеры каждый день какой-то новый фреймворк выпускают.
jquery наверное никуда не денется - не будешь ведь целый фреймворк юзать, если тебе надо всего-лишь DOM'ом поманипулировать или, например, аякс запросы попосылать.
Вот смотри, есть большой сайт. В нем куча функций. Внедряют новую фичу. На сайте может что-то поехать и поползти. У тебя есть вариант сесть и самому все проверить. На 60-ой кнопке ты уйдешь на двач и начнешь аутировать. Либо пишешь программу, она сама лезет на сайт и делает все тесты. Сама проходит регистрацию, заполняет формы, заливает картинки. То есть проверяет все функции сайта. После каждого теста она пишет отчет. Причем прогу нельзя делать на try except, как раз когда она крешнится - это будет показателем проблемы на сайте.
фрилансить не удается, сразу на зарплату забирают работать в офисе.
В коде написано:
>fid = open(iris_proc.data,"r")
>oid = open(iris_proc.data,"w")
И еще
>iris = np.loadtxt('iris_proc.data',delimiter=',')
Ругается на последнюю строку, ошибка
FileNotFoundError: [Errno 2] No such file or directory: "iris_proc.data"
Написано >np.random.shuffle(order)
Но это со второго питона, чем в третьем заменить?
>>796335
>>796317
А все нормально, кстати, посоны, что у питона за хуйня, когда он начинает на рандомную правильную хуйню ругаться? То ему не нравится, как переменная инициализируется, то еще что-нибудь
Вот смотрите, что ему не нравится, блядь?
>iris = iris[order,:]
>SyntaxError: invalid syntax
Ему что, название переменной не нравится? Раньше он не ругался
Ему запятая не нравится, а выше у тебя iris_proc.data было без кавычек. Перестань в глаза ебаться и будет все ок. Добра тебе.
Нет, магия в том, что если поставить order как list
>order = (list(range(np.shape(iris)[0])))
То все норма, ебанутый питон
Ну пиши одна функция на одно действие, и делов.
Упорись литературой что бы подпривыкнуть, валом же годных книг по питону.
Однострочники не нужны.
>>796379
Найдёшь - и мне им поделись. Я даже бабла отсыпать буду, правда в пределах 10-13 тыс руб в месяц.
>>796390
Не, поцоны, я на джанге кое-как пытаюсь выкручиваться на 20к, заказов нихуя нету, уже 3 месяц пытаюсь.
>>796387
Если НУБЯРА подходит, то я мог бы попробовать помочь, на пистоне я уже года 3-4 пишу разные шкриптики, но не хватает мотивации заняться изучением в плотную. Проект в какой области?
Мне и Джанго надо. Ты можешь со мной бесплатно поработать. Потом правда твой модуль будет в реальном коммерческом проекте, а ты будешь ни с чем с опытом. А если серьезно, то где взять такого? Не будь у меня кучи дел, сам бы был рад такой возможности.
Да я и в Numpy могу.
Но за идею работать - извини, я на апворке заебался, у всех нормальных ребят по косарю долларов зарплаты, а у меня 300-350
Да только 3 месяц же, может в течении года увеличится еще, а может и уменьшится.
Деньги в любом случае нужны, мне интересны другие технологии в программировании, но там работы не найдешь, а если и найдешь, то даже до 300 баксов не дотянешь.
Или требуют совсем гиков.
MrRak
Я так понял тебе по джанге нужно? ну я нихуя не делал на ней, опять же мотивации нет(, смотрел видосы, в принципе, наверно на день могу говноблог слепить. Но только если тебе нужен челик для СОВМЕСТНОЙ работы, а не делать самому для тебя.
лвл >25
Да найми какого-нибудь дебила, вроде меня на фрилансе.
Тебе что конкретно сделать то надо? Может это шаблонная хуета.
>>795714
Разобрался, короче. Сначала я читаю хедер, потом вычленяю из него Content-Length, и если он больше нуля (или вообще есть) - то читаю соответственное количество байтов еще и поверх.
Да везде. JS работает быстрее в разы за счет V8, ванильная Lua тоже быстрее, а если LuaJIT - то вообще на порядки. Мне вообще сложно назвать современный язык программирования, который работал медленнее Пайтона в стандартной реализации.
>>796250
Вембрелейтед.
Kaggle же
class User(models.Model):
..name=models.CharField(...)
class Result(models.Model):
..user = models.ForeingKey(User, default=....)
как мне ставить в Result default значение первого юзера?
DEFAULT_USER = 1
class Result(models.Model):
..user = models.ForeingKey(User, default=DEFAULT_USER)
> JS работает быстрее в разы за счет V8, ванильная Lua тоже быстрее, а если LuaJIT - то вообще на порядки.
Гугли pypy, pyston, cython.
Вопрос только, нах тебе скорость в питоне?
Я иногда специально делаю способом который работает чуть медленнее, но легче читается/воспринимается, и мне срать на проигрыш в доли секунд.
Ну так попробуй:
def get_first():
....return User.objects.first()
class Result(models.Model):
..user = models.ForeingKey(User, default=get_first)
Спасибо
Обмазывать тестами все, что есть и в какой-нибудь ci системе запускать при деплое автоматически. Для веба selenium, для бекэнда какой-нибудь unittest
Ну вот
class User
и надо что бы user был только один, что бы никто не впиздячил второго
создать что-то типа:
class OnlyOne(model.Model):
..pass
class User(model.Model):
..onlyone = model.OneToOneField(OnlyOne) ?
может чего есть более аккуратное?
Стандартные возможности: https://docs.djangoproject.com/ja/1.9/topics/i18n/translation/
Помечаешь в коде и шаблонах все строки, которые нужно перевести. Генерируешь для этих строк файлы перевода на нужные языки. Переводишь. Готово!
Для того, чтобы рулить переводами есть удобное приложение http://django-rosetta.readthedocs.io/en/latest/
Если нужна возможность добавлять контент в админке на нескольких языках, то для этого есть годное приложение http://django-modeltranslation.readthedocs.io/en/latest/
можно попытаться делать так, как этот чувак советует: http://stackoverflow.com/questions/2106823/limit-a-single-record-in-model-for-django-app/8094563#8094563
An easy way is to use the setting's name as the primary key in the settings table. There can't be more of one record with the same primary key, so that will allow both Django and the database to guarantee integrity.
честно тебе скажу - прочитал уже раз 10 и так и не понял что он имеет ввиду
Большое спасибо тебе
я не про тот ответ, который отмечен правильным, а про тот, что ниже.
добавить has_add_permission, в которой проверять кол-во обектов в таблице. Если больше 0, то запрещать добавление. Должно сработать
class MyModel(models.Model):
....onefield = models.CharField('The field', max_length=100)
class MyModelAdmin(admin.ModelAdmin):
....def has_add_permission(self, request):
....# if there's already an entry, do not allow adding
........count = MyModel.objects.all().count()
........if count == 0:
............return True
........return False
>has_add_permission
оно джанговский метод встроенный какой-то, или его и в админку как-то нужно будет пихать хитро?
джанговский https://docs.djangoproject.com/en/1.9/ref/contrib/admin/#django.contrib.admin.ModelAdmin.has_add_permission
И да, вместо MyModel.objects.all().count() наверное можно MyModel.objects.count() - all() тут не нужен.
Что он делает?
>for i in range(lastPoint):
> inputs[i,:] = PNoz[i:i+tk:t,2]
> targets = PNoz[i+t(k+1),2]
Я понимаю, что он повторяет все столько раз, сколько у нас значение lastPoint, я знаю, что обозначает и t и k
Но чему конкретно будет равно inputs и targets?
И да, PNoz - это массив с 4 столбцами и 2855 рядами, он был объявлен до этого
>inputs[i,:]
А это было объявлено, как
>inputs = np.zeros((lastPoint,k))
>targets = np.zeros((lastPoint,1))
Перед циклом
Через контект менеджер удобнее всего. Можно любой блок кода обернуть. Можно через декоратор, но тогда ты только функции так оборачивать сможешь.
http://pastebin.com/sf1Pryds
Как же заебись, спасибо!
Не вижу наебалова.
>>796804
Извини
>>796807
Просто напиши им, сказали же нубов берут. Собеседование пройдешь где тебя спросят что такое with и что означает http 403 по скайпу.
> по скайпу
оу. у меня, на самом деле, еще и разговорный английский никакой.
а вообще, вакансия конечно интересная. может и напишу им. спасибо.
>>796777
Аноны, так что значит эта хуйня?
> inputs[i,:] = PNoz[i:i+tk:t,2]
Никак не могу вникнуть, мы в i строк массива добавляем значение PNoz?
Но в PNoz 2855 элементов, а в i максимальное значение будет 2847
я в numpy не секу, но предположу, что:
Мы пишем в i-ую строку массива index.
i:i+tk:t - это вроде бы indexing.
i - начальный индекс
i+tk - конечный
t - шаг.
Вот с офсайта пример:
>>> x = np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
>>> x[1:7:2]
array([1, 3, 5])
То есть, мы берем второй столбец массива PNoz и добавляем из него элементы (не все) в массив inputs
inputs = np.zeros((lastPoint,k)) и targets = np.zeros((lastPoint,1)) - массивы с нулями. в первом lastPoint строк и k столбцов, во втором - 1 столбец.
А ты запускал этот код вообще? Напихай туда принтов и посмотри, что происходит. Только возьми массив PNoz поменьше.
Да это ебучая наркомания, запускал
>print (PNoz[0:0+tk:t,2])
>print (PNoz[2846:2846+tk:t,2])
Равны первому и последнему элементу inputs
Это на самом деле прогнозирование, где t - насколько далеки точки друг от друга Равно 2 и сколько точек нам надо k = 3
Но тогда вопрос - как, блядь, не просто установить 3.5, но и прикрутить pip к консоли? Всяческие выкрутасы типа pip3 упорно ссылаются на 3.4.
После удобств винды все это выглядит жесточайшим пердолингом. python3.5 -m pip install modulename - слишком длинно. Не говоря уже о дополнительных сношениях, чтобы запускать скрипты именно через 3.5
есть гента, ты можешь установить сколь твоей душе угодно версий питона, удачи.
А как там решается проблема, какая версия дефолтная? В винде достаточно поставить цифру в PY_PYTHON.
> как, блядь, не просто установить 3.5
pyenv
> python3.5 -m pip install modulename - слишком длинно
Ой, иди нахуй.
>Ой, иди нахуй.
Только посмотрите, адепту python way НЕПРИЯТНА, что кто-то предпочитает писать вполовину меньше букв, если это возможно.
Используй virtualenv. Мжно создать окружение с той версией интерпретатора питона, какой захочешь. Плюс, не засираешь систему своими пакетами голобально. Можешь насоздавать окружений для разных проектов с разными версиями питона и разными версиями одного и тех же пакетов, например и все у тебя будет заебись.
Просто сделай расширению модель юзера.
file = open('кирилица','wb') - выбивает ошибку
file = open('кирилица','wb') - выбивает ошибку
file = open('кирилица','wb') - выбивает ошибку
Ты дурак или куда? Как ты добрался до взаимодействия с api, но про ебаный encoding = utf-8 не знаешь?
text_file = open("analize.txt", "w",encoding='utf-8')
А, я твой вопрос не так понял. С кириллицей питон вообще не дружит, у меня была учетка на кириллице, из-за этого у меня ни одна команда через коншоль не работала, в PATH мое имя отображалась, как сломавшаяся кодировка.
В 16.04 питон 3.5 из коробки.
Если есть юзеры vim'а, то скиньте мастхэв аддонов.
начинающийвимоблядок
кстати удвою реквест
от себя порекомендовать могу разве что в http://vimgolf.com/ погонять и a byte of vim
sublime text 3
Стоит юзать только его, не гонись за крутостью мужиков, работающих в пердольке. Они так с 90-х привыкли.
Пердёжь в лужьу
Ну всё просто - пиши как тебе нравится, конечно, раз живём. Но будь готов нести ответственность за свой выбор, например когда вакансию отдадут другому более понятному кандидату.
Угу, прям посмотрят на мой комп и как я там удобно все под себя настраиваю - и сразу отдадут. Иди нахуй, пердолик.
Он про (лямбда..)
Ты дибил? Это специально зделали чтобы не зависеть от системных алиасов, это благо, нахуй.
То есть, я не должен избавить себя от повышенной вероятности опечаток и 100500 ввода одного и того же текста, потому что это жестко вшитый костыль, изменение которого пидорасит все, ты хотел сказать?
Нахуя мне 3.4, если мне нужен только 3.5? Какого хуя я вообще должен зависеть от ненужного 3.4?
Это уже не говоря о том, что я должен помнить, какая именно версия 3 питона мне нужна, ибо если напишу по привычке и таториалам или просто забуду - все улетит в нахуй не нужный 3.4.
Просто ты макака и не можешь автоматизировать установку нужной версии пифона и нужных библиотек.
3.4 нужен системным утилитам, дибил, они на них завязаны. 3.4 нужен если гвида решит 3.5 зделать обратно несовместимым.
>>797269
Конечно должен, блядь. Ты же когда в си пишешь указываешь стандарт компилятору.
Еще раз говорю, мне похуй, что там нужно системе. Мне - не нужен. Я им пользоваться не собираюсь.
Ну, ясно, соси тогда. Всё просто.
3.4
двачую, тоже перекатываюсь на vim. Правда хз, как им можно нормально пользоваться на обычный de, вот в тайловых - да, я могу понять.
https://code.djangoproject.com/wiki/UsingVimWithDjango
Ссылочка на всеми любимое исчерпывающе подробное https://www.fullstackpython.com/vim.html
дрисня на хабре непроверенной полезности:
https://habrahabr.ru/post/224979/
https://habrahabr.ru/post/196550/
Просто о vim книжечка на 70 страниц
http://rus-linux.net/MyLDP/BOOKS/Vim/prosto-o-vim.pdf
>>797372
так же как и в тайловых. смысл то мышь реже тягать.
Нахожусь в командировке, есть ноутбук Lenovo E31-70 новый, но дерьмовый
Любимое Ubuntu я на него накатил конечно, но Chromium 10-15 вкладок + Pycharm дают практически всегда гарантированне слайд-шоу.
Вариантов собственно два:
1. накатить ещё ram / ssd но это платно
2. или заменить чем-то pycharm или cromium менее прожорливым.
Вот пока меня не окончательно доебало всё до варианта 1, хочу попробовать 2.
И так, чем заменить хромиум менее прожорливым? Может и вместо pycharm'а чего появилось с удобным автокомплитом/подсказочками и без java-машины?
inb4 emacs
Лол, собери себе арч+i3wm, которой будет кушать 100 метров на старте и не имей проблем.
Собрать-то не проблема, но этим же ещё пользоваться потом надо
Я сам не то что бы гуру линуксов, или питона, или ещё чего-угодно. Убунту я люблю за то что вбиваю возникший вопрос в гугл и 100% получу нужный ответ.
С арчем дебианом и тд всё сложнее
Можешь хотя бы ради интереса попробовать, мне лично намного удобнее. Смысл в том, чтобы слезть с unity, он жрет очень много. Хотя бы на xubuntu перекатись.
На самом деле у арча очень хорошая вики.
Использую арч+i3wm. Кушает на старте немного, но хром реально прожорливый - 4 Гб ОЗУ не хватает. Но альтернатив не вижу.
В качестве редактора - Sublime text 3 жрет уж точно поменьше, чем pycharm
А чем Сублайм обмазать для автокомплитов удобных и может быть поиску по встроенной/вписанной в py-файлы документации?
Ну все, дальше только тайл и минимальный сборки. На самом деле арч не сложный, обожаю pacman - лучшее пакетный менеджер.
Pycharm обязательный атрибут? Sumbile или vim будут намного выгоднее в плане прожорливости.
я автокомплитом не пользуюсь, но вроде есть пакеты. вот тут глянь https://realpython.com/blog/python/setting-up-sublime-text-3-for-full-stack-python-development/#customizing-sublime-text-3
потешное хоть и слишком быстрое для меня-аутиста
>>797398
Ну может попробую как-нибудь.
Я чуть ссу какие-то манипуляции с компом делать сейчас - комп то один, а ежели флешка загрузочная запишется с ошибкой я понятия не имею где мне её переписывать.
Да я давно хотел угореть по vim и i3, задротства во мне должно хватить - в конце-концов мои любимые игры это DF и Cataclysm DDA, так что как мне кажется и к таким вещам как полностью ручное управление я предрасположен.
>>797403
Стесняюсь спросить ты помнишь все приблуды джанго наизусть? Просто мне без предложений после точечки класса / объекта и тд и подсветки сверху что писать в скобочках будет как-то очень грустно и гуглить заебусь.
Но спасибо большое, ребята
>помнишь все приблуды джанго наизусть?
Ну, помню то, что чаще всего иcпользую. А если что-то забыл, то лезу в документацию. Помнить всё наизусть - это же пиздануться можно! Да и не нужно.
Но что мешает найти нормального работника из коробки?
К тому же, как это относится к удаленке?
>>795714
>>795005 (OP)
Короче, я дописал роутинг и выложил свой фреймворк с типа асинхронным веб-сервером на гитхаб. Обосрите меня немного, что ли, или подскажите чего годного:
https://github.com/SweetPalma/Perver
любой работе обучают на работе. они не берутся из ниоткуда.
virtualenv + pip
1. Перепиши ридми. Много лишнего говна. Сделай как у всех Features/Reasons/Installation/Usage/etc. А не как сейчас — набор охуительных историй.
2. > from hashlib import sha1 as hash
Нахуя это as hash? hash — это зарезервированное имя в builtins https://docs.python.org/3/library/functions.html?highlight=hash#hash
Также как и map
3. pep8. 4 пробела, нахуя 8?! Нахуя две строки между методами класса?
4. Нахуя столько бесполезных комментариев?
5. Делать новый фреймворк и использовать @asyncio.coroutine и yield from полное говноедство. Делай сразу async/await/async with/async for, покажи что ты модный.
6. > path = path.endswith('/') and path[:-1] or path
> error_text = number in error and error[number] or 'Unknown Error'
Избегай подобного говна как бы соблазн не был велик.
7. Вместо except: break делай with contextlib.suppress(Exception).
8. > log.error(format_exc())
log.exception("text")
9. > def route(self, path):
> def callback(func):
Да ты охуел?! Кичишься асинхронным сервером и не даёшь пользователю асинхронности. Какие, нахуй, коллбеки, используй async def и чтобы у пользователя была асинхронная функция.
10. В декоратора должно быть functools.wraps(f) чтобы метаданные не проебались.
11. > os.system('pause')
$ pause
pause: command not found
12. > del handler
Нахуя? Пусть сборщик ебётся.
13. https://github.com/SweetPalma/Perver/blob/master/perver.py#L551
Нахуя return?
Короче, говно полное.
1. Перепиши ридми. Много лишнего говна. Сделай как у всех Features/Reasons/Installation/Usage/etc. А не как сейчас — набор охуительных историй.
2. > from hashlib import sha1 as hash
Нахуя это as hash? hash — это зарезервированное имя в builtins https://docs.python.org/3/library/functions.html?highlight=hash#hash
Также как и map
3. pep8. 4 пробела, нахуя 8?! Нахуя две строки между методами класса?
4. Нахуя столько бесполезных комментариев?
5. Делать новый фреймворк и использовать @asyncio.coroutine и yield from полное говноедство. Делай сразу async/await/async with/async for, покажи что ты модный.
6. > path = path.endswith('/') and path[:-1] or path
> error_text = number in error and error[number] or 'Unknown Error'
Избегай подобного говна как бы соблазн не был велик.
7. Вместо except: break делай with contextlib.suppress(Exception).
8. > log.error(format_exc())
log.exception("text")
9. > def route(self, path):
> def callback(func):
Да ты охуел?! Кичишься асинхронным сервером и не даёшь пользователю асинхронности. Какие, нахуй, коллбеки, используй async def и чтобы у пользователя была асинхронная функция.
10. В декоратора должно быть functools.wraps(f) чтобы метаданные не проебались.
11. > os.system('pause')
$ pause
pause: command not found
12. > del handler
Нахуя? Пусть сборщик ебётся.
13. https://github.com/SweetPalma/Perver/blob/master/perver.py#L551
Нахуя return?
Короче, говно полное.
На сраном lenovo e31-70 втулил i3wm и пичарм с хромом залетали просто
Мне конечно неудобно пок а, но блин ни озу ни покупать, ни ссд ставить - ничего не надо.
Я так понимаю косячность основная была в дровах видеокарты от интел, для которой собственно дров и не было как-то
Бля, ну и говнище.
Хорошо, сейчас гляну.
Красава. К i3wm привыкнешь, я думаю. Я теперь когда пытаюсь вернуться на какое-нибудь DE, просто охуеваю от того, как все медленно и/или неудобно.
Я все никак не могу привыкнуть к пичарму. Несмотря на х64, 8 гиг оперативы и i5 - эта штука просто нереально тормозит на старте, открывается несколько минут, что очень бесит. Быстрее отрыть стандартный Idle и поправить что надо.
И? Если хочешь, можешь исправить это недоразумение - и влепить свою звёздочку вместо моей.
>>797585
> Да ты охуел?! Кичишься асинхронным сервером и не даёшь пользователю асинхронности. Какие, нахуй, коллбеки, используй async def и чтобы у пользователя была асинхронная функция.
Самое обидное - есть там асинхронность, только что проверил через asyncio.sleep, просто в корутину оно заворачивается только в respond_script. Впрочем, переписал для наглядности.
> Делать новый фреймворк и использовать @asyncio.coroutine и yield from полное говноедство. Делай сразу async/await/async with/async for, покажи что ты модный.
Опять же таки - нахуя? Кому показывать-то, ёпта? Пусть лучше будет обратная совместимость с 3.4, чем ГРОБ ГРОБ КОВОРКИНГ СМУЗИ с новыми ненужными операторами.
> Перепиши ридми. Много лишнего говна. Сделай как у всех Features/Reasons/Installation/Usage/etc.
Ты о чем вообще? У меня в ридми только это и есть. А если ты о референсе, то примеры из него я убирать не буду, может, их лучше в отдельный файл вынести?
> pep8. 4 пробела, нахуя 8
У меня там вообще табуляция, я не ебу как средство просмотра гитхаба их отображает.
Остальное исправил, спасибо.
Вот допустим у меня есть скрипт, который отправляет разные запросы к разным ресурсам в интернете. Но интернет такая штука, что что-то может пойти не так и ресурс окажется недоступен, значит всегда нужно планировать обработку ошибок. Я не хочу размазывать конструкции try exception по всему коду и пишу функцию, через которую проходят все запросы и в которой есть обработчит ошибок. И вот тут начинается засада, поскольку в зависимости от запрашиваемого ресурса ошибка может быть как критической для работы скрипта, так и несущественной. Получается решение обрабатывать все ошибки в одной функции было неверным? Для примера, скрипт заходит на страницу с ссылками на закачку, собирает ссылки, переходит по каждой из ссылок, собирает информацию о файле, качает файл. Если какой-то файл будет недоступен, то его можно пропустить. Если страница с ссылками недоступна, то нужно остановить скрипт. Если вместо страницы с инфой о файле появилась заглушка, то нужно перейти к следующему файлу, а не пытаться собирать инфу и качать файл. Как-то так.
> и влепить свою звёздочку вместо моей
Уволь.
> совместимость с 3.4
> с новыми ненужными операторами
Кому нужна совместимость с 3.4? Это же не 2.7. 3.4 прошла и её забыли.
> Ты о чем вообще?
Я об этом например
>Download this into your working directory. Dont forget, you need Python 3.4 or newer. Done, you're ready to go.
> P.S. If your browser doesn't download it, simply displaying a text file - press on that link with right mouse button and choose "Save As".
> У меня там вообще табуляция
Ну, тогда вообще пиздец. Сжечь нахуй.
И операторы ненужные, вооще охуеть. Это, блядь, грааль по сравнению с yield from.
> Уволь.
Как хочешь.
> Ну, тогда вообще пиздец. Сжечь нахуй.
Пэпом не запрещено, проект изначально задумывался с табуляцией.
> Кому нужна совместимость с 3.4? Это же не 2.7. 3.4 прошла и её забыли.
> И операторы ненужные, вооще охуеть. Это, блядь, грааль по сравнению с yield from.
Может ты и прав касательно этого. Подумаю на досуге.
> Я об этом например
>>Download this into your working directory. Dont forget, you need Python 3.4 or newer. Done, you're ready to go.
>> P.S. If your browser doesn't download it, simply displaying a text file - press on that link with right mouse button and choose "Save As".
Придирка ради придирки. Если в reStructuredText можно было бы дать ссылку с атрибутом "download" - я бы так и сделал, а так - извиняй, что потревожил твои эстетические чувства.
> Пэпом не запрещено
Он вообще не запрещает ничего. Это рекомендации. https://www.python.org/dev/peps/pep-0008/#indentation
> Напиши просто Grab yoba.py и всё.
Не совсем понял, что ты имеешь в виду.
>>797714
Конечно же, это рекомендации, но там так и сказано - лучше используйте четыре пробела вместо табов. Но если хотите табы и так изначально задумано - то пишите табами, только не смешивайте их с пробелами. Я так и делаю.
> Не совсем понял, что ты имеешь в виду.
Вместо ссылок и инструкций как качать с гитхаба просто напиши. Grab yoba.py (где yoba.py файл с твоим фреймворком).
> Конечно же, это рекомендации, но там так и сказано - лучше используйте четыре пробела вместо табов. Но если хотите табы и так изначально задумано - то пишите табами, только не смешивайте их с пробелами. Я так и делаю.
Где ты там такое прочитал?
https://www.python.org/dev/peps/pep-0008/#tabs-or-spaces
> Spaces are the preferred indentation method.
> Tabs should be used solely to remain consistent with code that is already indented with tabs.
Я вообще не понимаю любителей пробелов. Ширину отступов в табах можно настроить, в пробелах - нет.
Там же написано, что табы должны использоваться только в случаях, если уже есть код, который написан с табами. Если ты пишешь с нуля, то используй пробелы.
Стратегия.
http://second-ext.inttrust.ru/Site/itforum.nsf/0/8f5cfcbd13982149c32571fd00322142/$FILE/DesignPatterns-01(V.Panov).pdf
да, можно
Что это за дерьмо? Утки какие-то, бжад! Чем это должно мне помочь?
Есть community edition. И бесплатно на торрентах.
Спасибо
Не завидую тем, кто хочет в кодинг без знания английского. У самого Intermediate с нятяжкой
Вот тут как скомпилировать игру в exe. Невероятно просто! https://www.youtube.com/watch?v=fkZclKubSfk
А стоило бы.
Я не >>797773, просто сделал замечание. В ide есть рефакторинг, мощные проверки кода, типа как в рантайме, интроспекция (или как там оно, когда пишешь yoba. и тебе вылезает подсказки с методами и свойствами).
тебе просто нужна функция get().
держи!
async def get(self, url, post_data, method='GET', connector=None):
with (await self.semaphore):
with aiohttp.Timeout(self.http_timeout):
if connector:
session = aiohttp.ClientSession(headers=self.headers, connector=connector)
else:
session = aiohttp.ClientSession(headers=self.headers)
with session:
try:
data = None
if method.lower() == 'get':
response = await session.request('get', url)
else:
response = await session.request('post', url, data=post_data)
if response:
if response.status == 200:
data = await response.read()
await response.release()
else:
await response.release()
raise RequestException(response.reason, response.status, '')
return data
except Exception as e:
raise RequestException(repr(str(e)), None, traceback.format_exc())
тебе просто нужна функция get().
держи!
async def get(self, url, post_data, method='GET', connector=None):
with (await self.semaphore):
with aiohttp.Timeout(self.http_timeout):
if connector:
session = aiohttp.ClientSession(headers=self.headers, connector=connector)
else:
session = aiohttp.ClientSession(headers=self.headers)
with session:
try:
data = None
if method.lower() == 'get':
response = await session.request('get', url)
else:
response = await session.request('post', url, data=post_data)
if response:
if response.status == 200:
data = await response.read()
await response.release()
else:
await response.release()
raise RequestException(response.reason, response.status, '')
return data
except Exception as e:
raise RequestException(repr(str(e)), None, traceback.format_exc())
Посыпаю голову пеплом. Прочитал indented как inteded, ты был прав, только сейчас заметил. Хотя табы на пробелы менять не буду всё равно.
Ради бога. Мощные проверки кода в питоне невозможны в принципе, рефакторинг есть, автодополнения и подсказки есть. Трассировка и профилировка возможны внутренними средствами питоне, приблуды к гиту тоже есть.
Спасибо, конечно. Но как-то малость монструозно, тем более что я использую либу requests, которя по идее занимается всей этой хуитой с сессиями и таймаутами под капотом. И питон у меня 2.7
Моя проблема в том, что мой код у меня работает, но я сомневаюсь, что он будет работать всегда и везде, и я нихуя не зняю как повысить его надежнотсь и стоит ли этим заморачиваться.
все и везде будет работать, не ссы)
функция get дает либо результат, либо исключение, исходя из этого ты реализуешь бизнес логику своего приложения. больше функция гет нихуя делать не должна.
да я не троллю! просто проще надо делать, стремиться к атомарности архитектуры.
вот хороший образчик, достойный подражания:
https://ru.wikipedia.org/wiki/Философия_UNIX
«Философия UNIX гласит:
Пишите программы, которые делают что-то одно и делают это хорошо.
туда пишу что-то типа:
list_display = ['title', 'text']
Ну оно мне разумеется весь текст и выдаёт прямо в админке на странице данной модели
Как бы мне сделать что бы выдавало например 500 символов?
Можно конечно сделать метод типа
def short_text(self):
..return self.text[:500]
или как-то так, и пихать в админку это тегом
Но мне кажется может есть чего встроенное для этого?
Ну вот для шаблонов есть что-то типа
{{ model.text|truncatewords:3 }}
А для админики ничего такого нету?
Спасибо!
Фильтр уровня
def not_published(self):
..if not self.published_date:
....return what?
*а content расширяет layout
https://docs.djangoproject.com/en/1.9/ref/contrib/admin/#django.contrib.admin.ModelAdmin.list_filter
здесь есть пример, чуть ниже пролистни
без js не обойтись, создай новую вьюху с роутом например /ajax/, на странице по клику на сабмит собери данные формы и отправь аяксом на /ajax/, но не отправляй форму обычным способом.
Ты не понял. Если я напишу свой Yoba класс, сделаю инстанс a = Yoba(a, b, c), а потом напишу в каком-то месте a., то в ide вылезет подсказка с методами класса и т.д. не думаю, что сублим так умеет.
но иначе внатури никак, это следствие stateless природы интернет.
И можно ли сделать, чтобы считывал по ключу? То есть сделать из файлика .txt микро базу данных? Я вот придумал только перебор по строкам - мол если строка начинается с ключа, то дальше определенные данные идут.
>Можно сделать чтобы он счытвал и формировал например список?
>И можно ли сделать, чтобы считывал по ключу? То есть сделать из файлика .txt микро базу данных?
Да запросто, язык же полный по тьюрингу, что хочешь то и делай.
>Я вот придумал только перебор по строкам - мол если строка начинается с ключа, то дальше
Ну так и надо, только я регэкспы использовал. Регэкспом разбираешь строку, находишь в каждой ключ и значение. Ну или если регэксп ничего не нашел, то выводишь ошибку.
уебите ему!
Заебусь сериализовывать/десериализовывать.
>>798131
хуета какаето...сорри=(
Нужно что-то типа этого http://pastebin.com/ub1pyhT0
Тут редис юзается как внешний таймер что челик уже закончил свою сессию и пора подчищать память. Мне бы чтоб этот таймер был внутрях и не заебывать редис, и так сука нагружен.
ну и в чем проблема то? сделай таймер.
name_list =[name.split(",")]
Почему не работает?
про чтение забыл.
Но вот при формировании листа сплитом, у меня еще в конце выскакивает "/n" от перехода на новую строку, ее как-то убрать можно?
name_list =(f.read).split(",")
Может shelve?
file.read().splitlines()
Но я же не к методу применяю сплит, а к тому что он возвращает.
Вот так работает.
name = f.read()
name_list =name.split(",")
А я уже хотел что-нибудь плохое про тебя написать.
project/settings.py
....
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media/')
app/models.py
class OmgImage(model.Model):
..image = model.ImageField(upload_to='image/')
app/templates/image.html
<img src="media/{{ app.image }}" />
Возвращает url картинки типа http://127.0.0.1:8000/media/image/file.jpg - т.е. совершенно правильную, file.jpg и лежит в /media/image/
Но картинку не выводит, при попытке открыть изображение в новой вкладке выдаёт Page not found (404)
Чего так? где я обосрался?
Блин, нинад. У меня коулрофобия =(
Поговаривают, что у ван на винде терминал говно. http://stackoverflow.com/a/14284404/5201699
у вас
"string string %d stirng" чтобы % заменялся на другое значение?
в урл паттернах вот так сделай:
https://docs.djangoproject.com/en/1.9/howto/static-files/#serving-files-uploaded-by-a-user-during-development
возмжно, в этом проблема.
Свечку за тебя поставлю. Спасибо.
Да, оно!
Что можно использовать вместо уродливых " " пробелов ?
спасибо большое, друг.
сделал и ещё ебался, а всё почему? потому что блядь нахуй я проебался с
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, '/media/')
сука главное ж в вопросе правильно написал а в проекте этот ебучий слеш.
и я не обратил внимание. по идее ведь слеши вообще не нужны. должно быть:
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
Да наверное
алсоу написал лисопедик что бы проще было деплоить
app/urls.py
if settings.DEBUG:
..urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
>if settings.DEBUG:
Думаю, можешь убрать это, потому что эта функция и так работает только при DEBUG=True
показываются только если писать <img src="media/"{{ app.img }} />
как при таком раскладе их скармливать в sorl-thumbnail
типа:
{% load thumbnail %}
{% thumbnail app.img "350" as im %}
..<img src="{{ im.url }}" />
{% endthumbnail %}
я не понимаю решительно
Есть прога с фласком, один из роутов запускает функцию.
Как из браузера запрашивать состояние работы функции (например атрибуты класса) во время её работы? Как запустить в фоне и дальше слушать клиента?
Думал использовать для этого celery. Добавлять таск с функцией, но я всё так же не знаю как клиент может запросить что-то кроме ready().
Скорее всего тебе нужен AJAX.
http://pastebin.com/cjMXDvFq
спасибо решил
https://ideone.com/zRKxJh
На втором пикретейлед результат ее выполнения.
Не могу догнать что за стековая диаграмма.
<img src="{{ app.img.url }}" /> так работает?
>как при таком раскладе их скармливать
Вроде бы у тебя все правильно там написано.
Если {{ app.img }} передан в шаблон, то должно работать.
Можешь еще попробовать сделать вот так:
{% thumbnail app.img.url "350" as im %}
В том и беда что чего-то не хочет os.system.join'иться "media/" к app.img
app.img дает путь image/file.jpg и без вот этой приставки медиа/ не показывает ничего понятное дело.
Стековая диаграмма - это когда ты сам вбиваешь себе значения и на каждом этапе выполнения скрипта замеряешь результат
for x in range(0,4):
..x *= x
Стековая диаграмма тут будет типа
1 - 1
2 - 4
3 - 9
4 - 16
Можешь прямо графиком вместо черепашки рисовать, смысл всего этого что бы ты точно понял что программа делает в ту или иную единицу времени в том или ином куске кода
С одной стороны можно конечно поебаться час с регулярками и выдрать нужные данные, но хотелось бы знать, есть ли более простые и надежные способы?
python: can't open file 'test.py': [Errno 2] No such file or directory
Как пофиксить? PATH на винде, а тут как?
Ну я хз тогда. Проверь еще раз все пути, которые в настройках прописал.
Еще {{ MEDIA_URL }} в шаблоне попробуй как-то использовать. Не забудь добавить строчку в context_processors в настройках, как сказано в документации: https://docs.djangoproject.com/en/1.9/ref/settings/#std:setting-MEDIA_URL
Если ничего не получится, то выложи на гихаб или просто сюда архивом кинь я попытаюсь помочь.
А куда сохранять чтоб работало
Пробовал это.Но я понял в чем трабл.У меня на андроиде интерпритатор для 2.0 питошки.Щас скачал для 3.0 заработало
Ты не мог бы писать в тредик о своих успехах? Меня заинтересовал твой подход.
Ловите наркомана!
Попробуй добавить директорию, в которой находится скрипт, в переменную окружения PYTHONPATH.
Через PATH=$PATH: ?
Вот я прикрутил к какой-то логике фласк, нарисовал страничку с wtforms, все вроде как работает (формочка принимает данные, страница перезагружается и рисуются таблички). Есть два НО - 1) мне таки хочется AJAX, чтобы страница не перезагружалась, а таблички достраивались снизу 2) мне нужна возможность обрабатывать больше одного запроса от разных клиентов параллельно, у фласка с этим беда, как я понял.
Собственно, что делать?
Я ведь правильно понимаю, что нужно послать нахуй все эти втформсы и фласки, установить какой-нибудь апач, сделать так, чтобы на запросы извне он показывал страничку с жаваскриптом, жаваскрипт передавал сообщения от клиента к логике через апач, потом логика передает сообщения через апач к жаваскрипту и он всё рисует? Или я что-то усложняю и можно как-то проще?
>мне таки хочется AJAX
Сделай AJAX
>мне нужна возможность обрабатывать больше одного запроса от разных клиентов параллельно
Просто используй вместо встроенного во Flask сервера нормальный WSGI сервер, который умеет в параллельные запросы. http://flask.pocoo.org/docs/0.11/deploying/
Блядь, мне уже не нужен AJAX, всего-то нужно было почитать документацию втформс.
Спасибо за развернутый ответ, но ты был не прав. Гугление на русском ничего не давало, но за-то когда попробовал инглишь нашел кучу объяснений того что от меня хотели.
http://www.openbookproject.net/thinkcs/python/english2e/ch03.html#stack-diagrams
Ну и что самое главное, под словом нарисовать - автор походу имел - нарисовать в графическом редакторе или рукой на листе. А не накодить нечто выводящее диаграмму(на данный момент в книге не давали знаний достаточных для такой задачи). Вот уж где искажение восприятия. Спустя сутки только допер что просьба нарисовать, не обязательно должна относится к программированию.
Там дальше такое будет. Правда без цвета и красивостей а
-------------
| типо так |
-------------
Просто текст. Теперь пытаюсь с помощью requests, но застрял на вытаскивание id капчи из json.
Хм, а это неплохая идея. Можно заделать нейросеть с базой шуток (1000 мемасов и 100 паст) и настроить автоматическую генерацию нового и сразу постить на двощ.
срать прямо на двач, wait oh shi~
Поясните мне почему str.join() некорректно работает?
https://ideone.com/lUjVFz
При этом отличие проявляется только для строк из одного символа.
https://ideone.com/UmiSL5
Вот тут уже нормально всё
как? покажи пример. К примера я делаю os.system('echo test'). Он выведет test в stdout. Как его теперь прочитать?
и вот держи в догонку традиционный способ
http://www.saltycrane.com/blog/2009/10/how-capture-stdout-in-real-time-python/
> https://2ch.hk/makaba/makaba.fcgi?board=pr&thread=795005&json=1&2chapthca_id=159ef9c614cdbd254a3c88db56a04eec95ed53c4db25ef088cb291873e577ee5&captcha_type=2chapthca&2chapthca_value=245041&task=post&comment=test (М)
Делаю вот так. Капчу каждый раз новую вожу. Но он всегда пишет {"message":"Нет прав доступа или вам нужно перелогинится","message_title":"Ошибка"} Что за хуйня? Как починить?
> p = {'json':'1','task':'post','board':'pr','thread':'795005','comment':'test','captcha_type':'2chapthca','2chapthca_id':cap,'2chapthca_value':sol}
> r = requests.post('https://2ch.hk/makaba/makaba.fcgi',params=p) (М)
Вот так пишу. А он не работает. Помогите.
Блять. Слово капча не так нписал. Теперь исправил, но он всё равно не равботает
Мне. Но уже не надо. Разобрался без этого. Теперь у меня requests.post сломался.
То есть односимвольную строку оно не соединяет с разделителем никак и никогда?
аааблять получилось. ненавижу макаку меняет апи как только начинаются месячные. надо было posting.fcgi писать а не makaba.fcgi
Огромный минус, я даже хз, в чем причина - logcat выдает какие-то коды ошибок и места, но они вообще не имеют отношения к моему коду. У меня есть целый 1 недопиленный таториал, который (какое совпадение!) тоже оканчивается до появление работоспособного приложения.
И вряд ли вообще когда-то это будет пригодится для сборки apk - автор совершенно не заинтересован в Андроиде, это даже видно по тому, сколько лишней, ломающей компиляцию статических библиотек херни включается через pyqtdeplycli.
Это не альтернатива buildozerу совершенно. Проблемы отладки совершенно не стоят результата. Документация раскрывает отношения с ведром чуть менее, чем никак, а спросить негде - никто ничего не знает, даже сам Phil.
А я тебе говорил.
Бамп. Как в двач апи отравляьб картинки?
А впихнуть её впараметр image как? Это же картинку надо в строку превратить. Как?
Ахуеть. Получилось. Спасибо. Я думал в специальный параметр у двачапи нужно что-то вписать.
Нужно написать скрипт на втором пайтоне.
Словарь почему-то сортируется по алфавиту.
create_json = {
"id": json_id,
"number": json_number,
"committer_name": json_committer_name,
"committer_email": json_committer_email
}
print create_json
Получаем:
{"committer_email": "grand.xavier@gmail.com", "committer_name": "Xavier Grand", "id": 17369213, "number": "9.3"}
Как этого избежать?
Элементы словаря не имеют порядка. Тебе нужно сортировать по ключам или их значениям?
Делай create_json.keys() или create_json.values(). А к ним уже применяй .sort()
Но во втором петона .items() возвращает обычный словарь, к нему можно. В третьем нельзя.
А есть идея ещё гениальнее. Можно сделать свою борду, и для каждого раздела создать собственный скрипт с нейросетью, для каждой из которых подобрать подходящий разделу набор шаблонов. В итоге можно будет создать свой личный двач и аутировать в полном одиночестве.
Я серьезно подумываю над этим. Уже почти запилил себе скайп бота, с которым разговариваю. Лучше 99% собеседников. Лучше просто стены.
А я вот думаю про нейросеть которая превращает любую пасту в пасту про срущего батю.
мне вообще никак сортировать не нужно. как раз в том и проблема, что оно автоматически отсортировало по алфавиту, хотя я этого нигде не указывал.
Удобства ради. Если читать самому файл, то так намного удобнее и, при розростании словаря, логичнее.
А вообще задание у меня по учёбе такое.
А json в пайтоне всегда автоматически сортируется?
Тебе просто повезло. Запусти еще раз - и порядок скорее всего будет иным. Да и не похуй ли - кто это увидит? Для вывода в нужном тебе порядке вставляй значения в шаблон строки. Или слеивай строку из кусков, между которыми значения из словаря.
Что ты там хочешь в односимвольной строке соединять? Разделитель ставится между элементами итерабла.
получаю 'ascii' codec can't encode character u'\xe1', когда пытаюсь достать нужную строку из обьекта.
проблема, похоже в том, что я не могу понять енкодинг/декодинг и что вообще происходит.
https://ideone.com/jVbL04
спец символы только в report.name
Хули не работает?
k получается не список, а ссылка на map объект по такому-то адресу
l = list(map...)
k = [str(x) for x in n]
unexpected EOF while parsing
Ошибка появилась после удаления нескольких последних строк кода. А если я в последней строки пишу print ("xx") то уже пишет, что инвалид синтаксист и показывает на этот принт.
Убрал функцию из print , ошибка исчезла.
Если ты няшный, то pyejdb. А так pylucene.
Я тут понял, что нужно почитать что-то по алгоритмам. Какую книгу лучше всего прочитать (выбирал, чтобы без матана):
1.Лафоре (объясняется на примерах с Явой)
2.Кормен.Введение в алгоритмы
У лафоре вроде бы понятнее (я так глянул по страничкам, нормально разжевано), но там яваговно. У Кормена все на примерах псевдокода и нельзя потыкать палочкой аплеты, которые показывают сортировки и т.д. На какой стул садиться?
по твоему пистону можешь это глянуть
http://interactivepython.org/runestone/static/pythonds/index.html
app/models.py
class Feedback(models.Model):
..name = models.CharField(max_length=250)
..email = models.EmailField(max_length=250)
..message = models.TextField(blank=True)
..added = models.DateTimeField(auto_now_add=True)
app/views.py
def index(request):
..template = loader.get_template('index.html')
..form = FeedbackForm()
..context = {
....'person': Person.objects.first(),
....'feedback': ????
..}
..return HttpResponse(template.render(context, request))
templates/index.html
<div>
<form method="post">
..{{ form.as_p }}
..{% csrf_token %}
.. <button type="submit">Save</button>
</form>
</div>
app/models.py
class Feedback(models.Model):
..name = models.CharField(max_length=250)
..email = models.EmailField(max_length=250)
..message = models.TextField(blank=True)
..added = models.DateTimeField(auto_now_add=True)
app/views.py
def index(request):
..template = loader.get_template('index.html')
..form = FeedbackForm()
..context = {
....'person': Person.objects.first(),
....'feedback': ????
..}
..return HttpResponse(template.render(context, request))
templates/index.html
<div>
<form method="post">
..{{ form.as_p }}
..{% csrf_token %}
.. <button type="submit">Save</button>
</form>
</div>
карина.СЛОЖНА.txt
Как будто в C++ что-то по другом, лол.
Только я до сих пор не понимаю что в конечным итоге я должен с ним делать? Какие задачи выполнять? Куда я иду?
мне нравится складывать циферки
правда
Даже уточню. Нужно запускать этот скрипт в параллельном от гуи процессе\треде и получать его вывод.
>>800416
При этом в итоге должна быть собранная через cx_freeze программа. Если я буду запускать этот скрипт через subprocess и ловить вывод - как заставить его запускаться от фризнутого питона?
Уточню - этот скрипт тоже на питоне.
Привычка так и тянет сделать через treading и не ебать себе мозг, но может есть лучшая альтернатива?
хуй знает че ты хочешь, но гугли click - делать слишные проги самое оно
https://www.youtube.com/watch?v=kNke39OZ2k0
Сейчас штудирую http://aliev.me/runestone/ , но чёт сложно про функции рассказано.
Опыт в погромирование только школьный курс паскаля за 9 класс и курс в технаре с qbasik.
Ну охуеть вообще, я где-то написал, что хочу сделать command line apзlication?Наоборот, GUI к ней.
я тебе как дцпэ дэцэпэ расскажу, вопервых: если ты на винде, у тебя 2 хода: 1) ставить луникс на вирт машину. 2) сносить венду и ставить лунус.
давай быть последовательными? сначала выполни сий весьма важный шаг, как только ты решишься, я расскажу как быть дальше. давай, жду.
>1) ставить луникс на вирт машину. 2) сносить венду и ставить лунус.
>давай быть последовательными? сначала выполни сий весьма важный шаг, как только ты решишься, я расскажу как быть дальше. давай, жду.
Ему это нигде не пригодится, кроме специфических штук, до которых как до луны пешком. Что это даст?
как только ты окажешься в миру *nix, тебе придется уяснить что: 1) все есть файл, 2) любая программа пишется так, что бы могла быть пересипользована, 3) у программ должен быть простой интерфейс взаимодействия - текстовый.
и так, интерпретатор python - программа и она удовлетворяет всем трем, вышеозначенным принципам.
это ему пригодится прямо сейчас, хотя бы для того, что бы не задавать подобных - 95% вопросов этого треда.
Но учитывая что я пользовался только виндой ( даже лопаты на андройде нет), то будет гомоебля с вопросами как этим всем пользоватся
Вот за что я люблю все эти видеоуроки, курсы на кодакадемиях и тд - их объяснения еще хуже, чем "любая программа пишется так, что бы могла быть пересипользована". Он даже про функции не понял еще.
Забей хуй на системные вопросы, возьми лучше хорошую книжку типа "Изучаем питон" М. Лутца. Все, что надо - тебе покажут там с примерами, и не один раз. Особенно, если ты никуда не торопишься. Фундаментальные вопросы уровня "что происходит, когда я импортирую модуль" и всякие хитрые штуки типа генераторов тебе не расскажут в видеоуроках или на бордах. А проходя краткие курсы - ты про них рискуешь вообще никогда не узнать, изобретая велосипеды.
там не все так сложно, ос - программа, по любой массово - используемой программе есть куча документации. сейчас главное запустить терминал посредством ssh на установленной убунте. прозреваю что ты будешь использовать virtualbox, поэтому пиши в гугл "ubuntu on virtualbox"
Куча документации еще не значит, что он будет понимать, как это все склеивать в нечто работоспособное.
Нужно, чтобы в голове была куча вариантов, как это применить. Взвесить все за и против того или иного варианта. Да даже найти ебанутое, велосипедное, но рабочее решение для проблемы, где гугол ничего не дал.
теперь из кожи вон лези, но установи ssh сессию из винды до убунты, для этого тебе нужен putty - виндовый ssh клиент
Чем отличается print от return знаешь? Нет, не знаешь. Поэтому начни с книжки. Там даже описывается, куда и что применять можно и как устанавливать показывают. И нет, линукс для этого не нужен. Все прекрасно делается на винде.
Единственное. что может тебе до конца обучения помешать на виндоусе - если у тебя учетка кириллицей.
+ В "Изучаем Питон" со всех сторон раскрываются проблемы отношений 2.7 версий и 3. Рассказывается, почему так и что изменилось.
Куча всего до сих пор на 2.7 пишется и адаптироваться не собирается.
Так что нужно изучать 3й питон. как фундамент, но поглядывая на 2.7.
>print от return
Я вот когда на кодакадемии курс питона проходил полным нуфагом - я до конца курса так и не понял разницы. А все потому что мой код проверялся 100500 проверками и еще автоматически этой оберткой выводился. разницу было не понять.
А когда я прошел этот курс - я понял, что я нихуя не знаю и ничего не могу сделать.
дальше логинишься, пишешь python, видишь Python 2.7.11+ жмешь ctrl+d, пишешь python3, видишь Python 3.5.1+ жмешь ctrl+d. все нормально, у тебя две свежих версии змеи.
Ну да, принт выводит (необязательно на экран, а туда, куда ведет stdout).
А return - "возвращает" результат. Мне вот было не просто понять по всем этим копроурокам, что значит "возвращает".
Представь себе действие 2 + 2 = 4.
return 2 + 2 "вернет" 4. То есть, если у тебя функция делает какую-то работу (пофиг какую) - return подводит итог этой работы, который подставится в переменную или другое выражение типа 2 + 2.
print - функция, следовательно она возвращает результат в stdout. stdout, в свою очередь, является файлом, таким образом функция принт возвращает результат в файл стдаут.
>21 гиг
Ну все, готовь ебать мозг вопросами уровня "не устанавливается и не работает хреньнейм, что делать?" вместо приятного обучения и начальной разработки. Место закончится очень быстро.
но ты отвлекаешься, сначал залогинься в убунту по ссх
ну да, я наверное не уследил где то за модой)
>Место закончится очень быстро
Эт как так, питон почти со всем весит 200 метров?
50 гигов норм?
Питон нет, но потом ты установишь какой-нибудь QT или другую полезную и нужную штуку, и гигабайт 5-10 просто испарятся. Впрочем, виртуальный диск можно расширить, не сильно посношавшись. Пока не забивай голову.
норм, ставь, сейчас это не важно. главное - наладить итерфейс человек - линукс, посредством твоей анальной винды.
Как по мне, меньше 100-200 не стоит ставить. Не исключено, что тебе вообще придется дублировать инструменты разработки и в винде, и в линуксе. Особенно, если планируешь пользоваться виндой, как основной и дальше.
Например, вдруг тебе захочется написать скрипт, который автоматически рассортировывает твои папочки с детской порнухой по одним углам, а ярлыки - по другим.
Я уже 5 раз машину перезапускаю, никак установить не могу
>>800853
Печально что могу поставить на системный диск, так что и основа бедет тормозить и машина (как сейчас)
ищи how to install ubintu on virtualbox in windows
и да, впредь все запросы к гугл старайся писать на английском
Дам тебе уберполезный совет для винды. Сделай себе папку на рабочем столе или где тебе удобнее хранить свои творения. И сделай переменную окружения PYTHONPATH, пропиши путь к папке там. Это очень сильно облегчит жизнь. Можно и путь к рабочему столу туда внести заодно, если ты любитель срать на видном месте, как я.
Что это даст? Ты сможешь запускать свой код, просто введя название файла. Не пописывая каждый раз cd "нужная директория с файлом".
Но то говно хоть как-то относится к петону, в отличии от твоего нытья. Или, может, ты на какой-то вопрос тут ответил, и ответ утонул в мусоре? Или задал? Нет, ты просто ноющий пиздабол.
>эти шизопосты
>как-то относится к петону
Просто иди нахуй.
>Нет, ты просто ноющий пиздабол.
Шизик, ты уже три поста наныл от того, что наверняка попал в список даунов в моем посте, уймись.
перестаю кормить говно
не отчаивайся если что то не получается, это нормально, иногда нужно вдумчивое чтение. я еще несколько дней буду заходить, пиши, спрашивай, но я жду вопросов в контексте запущенного python под *nix. мы же последовательны, правда?
и не обращай внимание на снобов, снобы имеют психологическую особенность забывать когда они пешком под столом срали.
МАМ ПАЧИМУ ОНИ ПИШЮТ ИМ В ЭТАМ ТРЕДИ? ПРИКРАТИТЕ Я СКОЗАЛ!!!
некоторые ставятся бинарником не самой последней свежести, а некоторые прямо в доках пишут: normal used on nix*, sorry, but wondows is send citizen system. например pyzmq, кстати, рекомендую.
fix *second
да, поэтому первым постом ответом я написал: "я тебе как дэцэпц дэцэпэ расскажу"
Ну точно всегда свежее, чем на репозиториях убунты. Вот уже точно где протухшая помойка.
pip install -U pip
Какие негативные стороны в этом случае? Если я сделаю join процесса с loop - основной бесконечно зависнет?
nat - network adress translation, при такой организации сети, серая сеть (твоя 192.168.0.0.24) гостевая машина не увидит хост машину - винду. что бы ты из винды увидел гостя, тебе нужно настроить порт форвардинг до гостевой машины. вот: http://torwald.ru/135/ssh-и-http-доступ-к-виртуальной-машине-при-пр/
фикс 192.168.1.0/24
Ты ещё держишься?
насколько я понимаю, join нужен не для того что бы что то вернуло результат, а для того что бы удостовериться что задача "форкнутая" в процесс должна выполниться до исполнения следующей после multiprocessing.Process.join() инструкции.
хз, я лет 7 винды не касался, просто возьми туториал, любой. это проще всего. я уже писал: how to ubuntu on virtualbox in windows
а заодно скачай образ ubuntu server - эта та, которая без графического интерфейса, он тебе никчему пока что.
Не проще скачать сразу на бубунту питон, или через общею папку? А то я честно говоря пока нихуяшиньки не понимаю нахуя это
на что ты скачаешь? ты же не установил еще нихуя. можешь с виндой пердолиться, но это не ко мне, потому что когда пойдут вопросы: а чо это у меня юникод декод еррор, или системпаф какой то корявый, или как мне поставить эту либу но ее почему то хуй найдешь под винду, я сразу сратьебал.
ты чо дохуя мистерроботом себя возомнил? бери самый тупой для самых даунов туториал и делай по нему.
Можно и так сказать. Возвращать что-то действительно необязательно. Но если задача бесконечная - эта самая "следующая" инструкция никогда не выполнится. И даже не будет возможности ее прервать из основного процесса.
>юникод декод еррор
А как по мне это очень полезно, добавит знаний о кодировках, и как с ними работать. А в третьем питоне это еще меньшая проблема, ибо теперь все строки юникод. Наверное, только на винде можно сполна навернуть ненависти к строкам 2 питона, если этим питоном там пользоваться.
А еще это приучит любые строки в 2м питоне делать юникодными.
Копипастить кусками из breakets? может ещё проще способы есть?
Аноны, у меня есть код:
>self.hidden = np.dot(inputs,self.weights1);
>self.hidden = 1.0/(1.0+np.exp(-self.beta*self.hidden))
>self.hidden = np.concatenate((self.hidden,->np.ones((np.shape(inputs)[0],1))),axis=1)
>outputs = np.dot(self.hidden,self.weights2);
>context = outputs
Как мне сделать так, чтобы строка
>self.hidden = np.dot(inputs,self.weights1);
Помещенная в начало кода заработала?
Короче надо добавить переменную, которая в первый раз не имеет значения.
Ой, не эта строка
>>self.hidden = np.dot(inputs,self.weights1);
А вот эта вот строка
>>self.hidden = np.dot(context,self.weights1);
быстрафикс
А как-то ебаться в конфиги уже не хочется, а убунту 14 перекинутая на новый ноут поддерживает частично, короче надо чего свежее.
Спросил бы в s но боюсь охуеть от анальных клованов
Думал на счет манджары, дебиана и арча
Не еби головы человеку, все все прекрасно видят, покрайне мере в vmware. В виртуалбоксе помню были траблы, но я вам что скажу - виртуалбокс юзать - говно жрать. Сам его на протяжении нескольких лет работы юзал, привык что ли, мирился с кучей косяков думая что везде так. В итоге как то попробовал vmware когда бота для игры писал(а говно бокс вообще не умеет ничего 3д запускать, да он вообще ничего по сути нормально не умеет). Тут тебе и с сетью никаких траблов, и буфер обмена между хостом и гостем нормально работающий.
Короче прекращай жрать говно и удаляй виртуалбокс, как человек на нем 2 года просидевший говорю.
Питон3 и в винде охуенно работает из командной строки, есть pip что бы прям как в линуксе устанавливать дополнительные библиотеки 1 строкой "pip install blablabla", нахер тебе линкус ставить?
Хотя судя по твоему уровню подкованности, тебе и правда не лишним будет разобраться чутка хотя бы в этих вопросах, но питон можно учить и использовать и без этой гомоебли
И имей блять совесть, весь тред засрал, он твою мать не виртуалкам и линупсам посвящен. Сначала гуглишь, думаешь часик другой, и если ничего не получается то спрашивай, подскажем, а не при каждом затыке сразу в треде срать, ты же уебок даже гуглить не пытался решение своих проблем? Колись блять.
Это копия, сохраненная 11 августа 2016 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.