Открыть список
Как стать автором
Обновить
  • по релевантности
  • по времени
  • по рейтингу

Portable Python — все свое ношу с собой!

Python
Если встретить linux-дистрибутив без интерпретатора python почти невозможно, то по отношению к Windows ситуация диаметрально противоположная. А питон ведь кроссплатформенный!
Конечно, можно поставить интерпретатор и на windows, но если хочеться запустить любимый скрипт на чужом/рабочем компьютере, под управлением данной ос?
Что, тоже мучиться с установкой? А если на машину нельзя/нецелесообразно ставить ПО. Да и время на это тратить, ради запуска одного скрипта не хочется?
Тогда, на помощь нам придет Portable Python!

Нет, не нужно идти на сайт и покупать на нем специальную флешку, достаточно скачать архив, и установить питон на свою.
Читать дальше →
Всего голосов 36: ↑34 и ↓2 +32
Просмотры41K
Комментарии 55

Читаем Альдебаран с удобством

Чулан
Наверняка некоторые хабралюди читают книги на сайте http://lib.aldebaran.ru. Они знают о том, что с некоторых пор текст на сайте «защищён» от копирования. Конечно, большая часть книг осталась доступна для скачивания в удобных для чтения форматах, но многие популярные книги можно только читать он-лайн. Что неудобно.
Следующий несложный скрипт на Питоне скачает книгу целиком, попутно вырезав весь мусор напиханый туда для затруднения копирования.
Читать дальше →
Всего голосов 37: ↑32 и ↓5 +27
Просмотры394
Комментарии 56

Конференция по Ruby и Python — RuPyRu 2008

Чулан
Приветствую, друзья.

В Омске второй год проводится конференция RuPyRu по Ruby и Python. В этом году она пройдет 21 июня.

Мы постарались пригласить интересных людей, которые используют Ruby или Python в своей практике. В этом году основные доклады выглядят примерно так:


Читать дальше →
Всего голосов 25: ↑23 и ↓2 +21
Просмотры261
Комментарии 41

Переименование процессов в Python

Python
Когда пишешь многопроцессное приложение на питоне хочется иметь какой-то максимально простой способ мониторинга за работой отдельных процессов. Я сейчас не говорю про детальные аналитические отчеты на 10 страницах, а про получение минимальной информации о здоровьи и работе каждого процесса: чем он сейчас занят, насколько грузит систему, сколько памяти отожрал и т.п. Примерно как nginx или postgres сообщают о себе: одного взгляда в top либо ps достаточно, чтобы понять что и как делает каждый процесс.
Осталось разобраться как это можно сделать в питоне на ОС Linux (на примере Debian и FC).
Читать дальше →
Всего голосов 12: ↑12 и ↓0 +12
Просмотры4.3K
Комментарии 16

Django и форум

Чулан
Столкнулся с такой проблемой — в проект, написанный на джанго, нужно встроить форум. Функционал форума должен быть близок к Invision Power Board. Долго рыл в сети решение этой проблемы — так ничего и не нарыл. Неужели никто с подобным не сталкивался?

Возможно единственное решение это делать мост к ИПБ, но меня смущает то, что это разные платформы (пхп и джанга)
Всего голосов 8: ↑6 и ↓2 +4
Просмотры780
Комментарии 12

Реализация небольшого асинхронного сервера

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

Мне приходилось писать достаточно много приложений, работающих в качестве сетевых сервисов. Эти сервисы были написаны на разных языках, под разную нагрузку и каждый раз реализация нового сервиса чем-то отличалась от предыдущей. Под хабракатом я привожу пример довольно удачной, на мой вгляд, реализации «учебного» сервера, сопровождая код своими комментариями по мере необходимости.
Читать дальше →
Всего голосов 46: ↑43 и ↓3 +40
Просмотры19.2K
Комментарии 26

«Наследование» не от классов

Python
image
В Питоне совсем не важно, что вы поместите в определение класса. Это могут быть строки, числа, объекты, переменные. В третьем Питоне можно даже передавать именованные аргументы.
Реализация
Всего голосов 49: ↑45 и ↓4 +41
Просмотры3.4K
Комментарии 33

Зачес Putty под 1 гребенку

Системное администрирование
Те из нас, кто работает с кучей Linux-серверов, а сидеть приходится под Windows вынуждены пользоваться Putty — он всем хорош: бесплатен, поддерживает все что нужно, но есть одна проблема: когда настроенных соединений становиться слишком много — массовое изменение параметров высосет из вас все соки (также как например и установка ваших любимых параметров для новых соединений). На хабре 2.5 года назад была заметка на эту тему, но там по прежнему требуется много ручной работы.

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

Скрипт берем тут — лицензия MIT = делаем что хотим (для запуска нужен питон). По умолчанию скрипт меняет цвета чтобы (мне) лучше читалось (тёмно-синий делает чуть светлее, светло синий — также), увеличивает буфер прокрутки до 20к (чтобы уехавший текст не пропадал), устанавливает размер окна по-больше, включает разворачивание по Alt+Enter на весь экран, убирает предупреждение при закрытии и включает сжатие SSH трафика.

Само собой сюда втыкать можно любые параметры. При добавлении нового соединения я просто прокатываю этот скрипт и готово. Под катом — исходник текстом, можно не кликать ;-)
Читать дальше →
Всего голосов 59: ↑45 и ↓14 +31
Просмотры8.2K
Комментарии 60

Руководство к дескрипторам

Python
Перевод

Краткий обзор


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

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

Читать дальше →
Всего голосов 51: ↑48 и ↓3 +45
Просмотры115.8K
Комментарии 5

Еще немного о дескрипторах в Python

Python
Из песочницы
Не так давно на Хабре уже был перевод статьи Раймонда Хеттингера Руководство к дескрипторам. В этой статье я постараюсь рассмотреть вопросы, которые возникли у меня после прочтения. Будет немного примеров кода, собственно вопросов и ответов к ним. Для понимания того, о чем речь, вам нужно знать, что такое дескрипторы и зачем они.

Читать дальше →
Всего голосов 47: ↑45 и ↓2 +43
Просмотры13.8K
Комментарии 29

Python-неизвестный

Python
На Хабре уже есть несколько статей\переводов, в которых рассказывается о неизвестных фичах\тонкостях\возможностях Пайтона. Я буду пытаться не повторять их, а дополнять, но если уж так случилось, что вы это уже где-то видели — не огорчайтесь. Я уверен, что найдется что-то интересное и для вас.
Читать дальше →
Всего голосов 144: ↑140 и ↓4 +136
Просмотры21.9K
Комментарии 51

Моя интеграция с 1С

Python
Привет Хабравчанам!

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

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

Читать дальше →
Всего голосов 35: ↑31 и ↓4 +27
Просмотры155.2K
Комментарии 65

Декодирование капчи на Python

PythonАлгоритмы
Перевод
Это перевод и форма повествования от первого лица сохранена. Автор — Бен Бойтер, бакалавр информационных технологий в Университете Чарльза Стерта (CSU).


Большинство людей не в курсе, но моей диссертацией была программа для чтения текста с изображения. Я думал, что, если смогу получить высокий уровень распознавания, то это можно будет использовать для улучшения результатов поиска. Мой отличный советник доктор Гао Джунбин предложил мне написать диссертацию на эту тему. Наконец-то я нашел время написать эту статью и здесь я постараюсь рассказать о всем том, что узнал. Если бы только было что-то подобное, когда я только начинал…

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

Капча устроена так, что человек может прочитать текст без труда, в то время, как машина — нет (привет, reCaptcha!). На практике это никогда не работало, т. к. почти каждую капчу, которую размещали на сайте взламывали в течение нескольких месяцев.

У меня неплохо получалось — более 60% изображений было успешно разгадано из моей небольшой коллекции. Довольно неплохо, учитывая количество разнообразных изображений в интернете.

Читать дальше →
Всего голосов 72: ↑63 и ↓9 +54
Просмотры60.1K
Комментарии 65

Связка ExtJS+Django+Apache+SVN deploy (и простой CRUD контроллер на Django)

DjangoБиблиотека ExtJS/Sencha
Из песочницы
Tutorial

Предисловие

Сразу хочу попросить прощения за столь перегруженную статью, но для меня сейчас всё это актуально и связано. Думаю что некоторым это может пригодиться для будущей разработки. Хочу обратить внимание, что в этой статье я не стану рассказывать вам как устанавливать те или иные тривиальные вещи, установка которых, к тому же, зависит от той или иной платформы. Также в статье я не описываю телодвижения по настройке прав доступа к файлам сервера, опять же, это зависит от реализации. В статье описан процесс настройки на PDC сервер с именем tci.lan, все имена сохранены, в вашем случае их следует заменить на соответствующие вам. Данная статья содержит код, для улучшения читаемости он спрятан в спойлерах.
Читать дальше →
Всего голосов 13: ↑6 и ↓7 -1
Просмотры8.4K
Комментарии 10

Использование Python в многопоточном приложении на C++ и настоящая многопоточность в Python

PythonПрограммированиеC++
Все более или менее знающие Python разработчики знают про такую жуткую вещь как GIL. Глобальный блокировщик всего процесса до тех пор пока Python выполняется в одном из потоков. Он даёт потоко-защищённость методами сравнимыми с садизмом, поскольку любая неявная блокировка в многопоточном приложении смерти подобна, всё что опиралось на параллельное выполнение, умирает в мучениях, раз за разом натыкаясь на блокировку GIL.
Известно что по сей день из-за этого скорбного факта программисты на C++ используют Python-обёртки по большей части лишь в однопоточных приложениях, а программисты на Python пытаются всех убедить, что им и так неплохо живётся.
Казалось бы, если поток порождён в C++, он не знает ни о каком GIL, используй Python без блокировок и радуйся. Радость разработчика однако закончится уже на втором потоке запросившем область глобальных переменных без блокировки.
Однако есть путь ведущий к светлому будущему!
Этот путь был изначально в таком языке как Perl, он же поддерживается в Си-API языка Python и я ума не приложу почему подобный механизм не включен в один из стандартных модулей Python! Способ по сути сводит использование различных под-интерпретаторов Python в разных потоках, причём используя свой GIL для каждого(!!!) без всякого шаманства и магии, просто последовательно вызвав несколько функций и стандартного набора Си-API языка Python!
Читать дальше →
Всего голосов 76: ↑72 и ↓4 +68
Просмотры38K
Комментарии 50

Еще раз о многопоточности и Python

Python
Как известно, в основной реализации Питона CPython (python.org) используется Global Interpreter Lock (GIL). Эта штука позволяет одновременно запускать только один питоновский поток — остальные обязаны ждать переключения GIL на них.

Коллега Qualab недавно опубликовал на Хабре бойкую статью, предлагая новаторский подход: создавть по субинтерпретатору Питона на поток операционной системы, получая возможность запускать все наши субинтерпретаторы параллельно. Т.е. GIL как бы уже и не мешает совсем.

Идея свежая, но имеет один существенный недостаток — она не работает…
Читать дальше →
Всего голосов 56: ↑56 и ↓0 +56
Просмотры33.4K
Комментарии 18

Путеводитель по Python. Пишем великолепный код

PythonПрограммирование

Доброго времени суток, Хабрахабр. Сегодня на крыле принес еще один перевод я (pdf-ки гугловского стайл гайда выложены). Хотя, кто знает, если кто-то оценит сию работу — быть может появится и продолжение. Как-то днём одним, предложил мне мой широко известный в узких кругах коллега scraplesh почитать ресурс — The Hitchhiker’s Guide to Python! называемый. Ресурс этот понравился мне. Понравились советы выдаваемые там. Понравилась канва повествования и вообще понравилось направление мысли автора. А если что-то хорошо на Ваш вкус, то нужно передавать это из уст в уста:) Итак, решил я сделать перевод данного ресурса. Но не всё так сразу — сначала будет пробная статья «на отклик» хабрасообщества. Если уважаемым гикам понравится сия тематика и изложение — будем стараться выпускать новые части. На первый «отклик» я выбрал раздел — "Writing Great Code" и в нем два подпункта «Structure is Key» и «Modules». Откликнемся под катом.
Читать дальше →
Всего голосов 64: ↑56 и ↓8 +48
Просмотры75.4K
Комментарии 8

Автотрекинг низкоорбитальных спутников или Слушаем радиосигнал с МКС

Стандарты связи


Американский инженер и радиолюбитель Трэвис Гудспид (Travis Goodspeed) на конференции Summercon 2013 продемонстрировал самодельную систему автоматического наведения спутниковой тарелки на движущиеся цели. Дизайн системы он опубликовал в открытом доступе, программы для управления написаны на Питоне.
Читать дальше →
Всего голосов 55: ↑49 и ↓6 +43
Просмотры26.6K
Комментарии 21

Генератор криптарифмов

Ненормальное программированиеPythonАлгоритмы
В написанной на днях статье Вернулся невод с тиной морскою, я дал ссылку на частотный словарь Википедии. Количество скачиваний на порядки превзошло все мои ожидания. Я почувствавал огромное духовное родство с читателями Хабра. Одна часть скачавших (как и я!) любит всячески возиться со словами и словарями, а вторая часть (как и я!), увидев на просторах сети интересный артефакт, тут же хватает его и тащит к себе в гнездо, а что с ним делать — потом разберёмся!

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

А для второй части, для тех, кто скачал словарь, а теперь мучительно думает, что делать со свалившимся счастьем, я хочу написать несколько статей. Собственно с этой и начну.
Читать дальше →
Всего голосов 41: ↑41 и ↓0 +41
Просмотры14K
Комментарии 10