Найдено результатов: 141

Как перевести char в int в python

ребята, помогите перевести char в int и наоборот.




python   char   символ   строки  

636   1   18:22, 14th July, 2020


Какие арифметические действия есть в Python

Объясните на примере.

python  

415   1   10:57, 21st July, 2020


Как написать многострочный комментарий в Python

нужно написать стих

python   строки  

529   1   18:16, 28th July, 2020


XML обработка в Python

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

К сожалению, хотя я довольно хорошо знаю модель XML в .NET, я не уверен, каковы плюсы и минусы моделей XML в Python.

У кого-нибудь есть опыт выполнения обработки XML в Python? С чего бы вы посоветовали мне начать? Файлы XML, которые я буду создавать, будут довольно простыми.

python   xml    

590   12   16:03, 1st July, 2020


Как я могу найти полный путь к шрифту из его отображаемого имени на Mac?

Я использую Photoshop javascript API, чтобы найти шрифты в данном PSD.

Учитывая имя шрифта, возвращаемое API, я хочу найти фактический физический файл шрифта, которому соответствует имя шрифта на диске.

Это все происходит в программе python, работающей на OSX, поэтому я думаю, что ищу один из:

  • Некоторые Photoshop javascript
  • Функция Python
  • OSX API, что я могу позвонить из python

python   macos   fonts   photoshop    

448   4   16:03, 1st July, 2020


Получить предварительный просмотр JPEG из PDF на Windows?

У меня есть кроссплатформенное приложение (Python), которое должно генерировать предварительный просмотр JPEG первой страницы PDF.

На Макинтоше я мечу икру глотками . Есть ли что-то столь же простое, что я могу сделать на Windows?

python   windows   image   pdf    

503   3   16:03, 1st July, 2020


Система непрерывной интеграции для кодовой базы Python

Я начинаю работать над хобби-проектом с кодовой базой Python, и я хотел бы создать некоторую форму непрерывной интеграции (т. е. запуск батареи тест-кейсов каждый раз, когда производится регистрация и отправка электронных писем nag ответственным лицам, когда тесты терпят неудачу), подобную CruiseControl или TeamCity .

Я понимаю , что могу сделать это с помощью крючков в большинстве VCSes, но для этого требуется, чтобы тесты выполнялись на той же машине, что и сервер управления версиями, что не так элегантно, как хотелось бы. Есть ли у кого-нибудь предложения по небольшой, удобной для пользователя системе непрерывной интеграции с открытым исходным кодом, подходящей для кодовой базы Python ?

python   continuous-integration   extreme-programming    

604   7   16:03, 1st July, 2020


cx_Oracle: Как выполнить итерацию по результирующему набору?

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

python   sql   database   oracle   cx-oracle    

587   3   16:03, 1st July, 2020


Использование 'in' для сопоставления атрибута объектов Python в массиве

Я не помню, спал я или нет, но я, кажется, помню, что была функция, которая позволяла что-то вроде,

foo in iter_attr(array of python objects, attribute name)

Я просмотрел документы, но такие вещи не подпадают ни под какие очевидные заголовки списка

python   arrays   iteration    

510   8   16:03, 1st July, 2020


Представления классов в Django

Django вид указывает на функцию, которая может быть проблемой, если вы хотите изменить только немного функциональности. Да, я мог бы иметь миллион аргументов ключевых слов и даже больше операторов if в функции, но я больше думал об объектно-ориентированном подходе.

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

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

python   django   views   oop    

581   9   16:03, 1st July, 2020


Python и MySQL

Я могу заставить Python работать с Postgresql, но я не могу заставить его работать с MySQL. Основная проблема заключается в том, что на общей учетной записи хостинга у меня нет возможности устанавливать такие вещи, как Django или PySQL, я обычно не могу установить их на свой компьютер, поэтому, возможно, это хорошо, что я не могу установить на хосте.

Я нашел bpgsql действительно хорошим, потому что он не требует установки, это один файл, который я могу посмотреть, прочитать, а затем вызвать функции. Кто-нибудь знает что-то подобное для MySQL?

python   mysql   postgresql   bpgsql    

545   6   16:03, 1st July, 2020


Как я могу использовать Python itertools.groupby()?

Я не смог найти понятного объяснения того, как на самом деле использовать функцию Python itertools.groupby() . Я пытаюсь сделать вот что:

  • Возьмите список-в этом случае дочерние элементы объективированного элемента lxml
  • Разделите его на группы по некоторым критериям
  • Затем позже повторите каждую из этих групп отдельно.

Я ознакомился с документацией и примерами , но мне было трудно применить их за пределами простого списка цифр.

Итак, как я могу использовать itertools.groupby() ? Есть ли другая техника, которую я должен использовать? Указатели на хорошее чтение "prerequisite" также будут оценены.

python   iteration    

540   12   16:03, 1st July, 2020


Добавление метода к существующему экземпляру объекта

Я читал, что можно добавить метод к существующему объекту (т. е. не в определении класса) в Python.

Я понимаю, что это не всегда хорошо делать. Но как это сделать?

python   oop   methods   monkeypatching    

584   17   16:03, 1st July, 2020


Какова наиболее эффективная графовая структура данных в Python?

Мне нужно уметь манипулировать большим (10^7 узлов) графом в python. Данные, соответствующие каждому узлу / ребру, минимальны, скажем, небольшое количество строк. Каков наиболее эффективный , с точки зрения памяти и скорости , способ сделать это?

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

graph[I][J]["Property"]="value"

Что бы вы предложили?


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

Загрузка данных в память не является огромной проблемой. Это делается раз и навсегда. Трудоемкая часть-это посещение узлов, чтобы я мог извлечь информацию и измерить интересующие меня показатели.

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

python   performance   data-structures   graph-theory    

448   0   16:03, 1st July, 2020


Как вы выражаете двоичные литералы в Python?

Как выразить целое число в виде двоичного числа с Python литералами?

Я с легкостью нашел ответ на вопрос hex:

>>> 0x12AF
4783
>>> 0x100
256

и восьмеричный:

>>> 01267
695
>>> 0100
64

Как вы используете литералы для выражения двоичного кода в Python?


Резюме ответов

  • Python 2.5 и ранее: может выражать двоичный код с помощью int('01010101111',2) , но не с помощью литерала.
  • Python 2.5 и ранее: нет никакого способа выразить двоичные литералы.
  • Python 2.6 бета: вы можете сделать так: 0b1100111 или 0B1100111 .
  • Python 2.6 beta: также позволит 0o27 или 0O27 (второй символ-буква O) представлять восьмеричное число.
  • Python 3.0 beta: то же самое, что и 2.6, но больше не позволяет использовать старый синтаксис 027 для окталов.

python   syntax   binary   integer   literals    

607   6   16:03, 1st July, 2020


Есть ли опыт работы с буферами протокола?

Я просто просматривал некоторую информацию о формате обмена данными буферов протокола Google. Кто-нибудь играл с кодом или даже создал проект вокруг него?

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

python   xml   database   protocol-buffers    

535   4   16:03, 1st July, 2020


Как сделать меню, которое не требует от пользователя нажатия клавиши [enter]для выбора?

У меня есть меню в Python. Эта часть была легкой. Я использую raw_input() , чтобы получить выбор от пользователя.

Проблема заключается в том, что raw_input (и input) требуют, чтобы пользователь нажал Enter после того, как они сделают выбор. Есть ли способ заставить программу действовать сразу же после нажатия клавиши? Вот что у меня есть на данный момент:

import sys
print """Menu
1) Say Foo
2) Say Bar"""
answer = raw_input("Make a selection> ")

if "1" in answer: print "foo"
elif "2" in answer: print "bar"

Было бы здорово иметь что-то вроде

print menu
while lastKey = "":
    lastKey = check_for_recent_keystrokes()
if "1" in lastKey: #do stuff...

python    

424   4   16:03, 1st July, 2020


Python: на чем OS я бегу?

Что мне нужно посмотреть, чтобы понять, нахожусь ли я на Windows или Unix и т. д.?

python   cross-platform    

481   25   16:03, 1st July, 2020


Python: в чем разница между (1,2,3) и [1,2,3], и когда я должен использовать каждый?

Во многих местах (1,2,3) (кортеж) и [1,2,3] (список) могут использоваться взаимозаменяемо.

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

python   list   tuples    

537   15   16:03, 1st July, 2020


Как продать Python в client/boss/person

Когда вас просят создать систему XYZ и вы просите сделать это в Python над PHP или Ruby, какие основные функции вы можете упомянуть, когда они требуют от вас объяснения?

php   python   ruby-on-rails   ruby    

511   8   16:03, 1st July, 2020


Как настроить Python скриптов для работы в Apache 2.0?

Я пытался следить за парой гугловых учебников по настройке mod_python, но каждый раз терпел неудачу. Есть ли у вас хороший, пошаговый, твердый как камень howto?

Моя коробка работает на ОС Х, производство - Centos.

python   apache   apache2    

580   4   16:03, 1st July, 2020


Как настроить Python скриптов для работы в Apache 2.0?

Я пытался следить за парой гугловых учебников по настройке mod_python, но каждый раз терпел неудачу. Есть ли у вас хороший, пошаговый, твердый как камень howto?

Моя коробка работает на ОС Х, производство - Centos.

python   apache   apache2    

510   4   16:03, 1st July, 2020


У кого-нибудь есть опыт создания общей библиотеки в MATLAB?

Исследователь создал небольшую симуляцию в MATLAB, и мы хотим сделать ее доступной для других. Мой план состоит в том, чтобы взять симуляцию, очистить несколько вещей и превратить ее в набор функций. Затем я планирую скомпилировать его в библиотеку C и использовать SWIG для создания оболочки Python. В этот момент я должен быть в состоянии вызвать симуляцию из небольшого приложения Django. По крайней мере, я на это надеюсь.

У меня есть правильный план? Кто-нибудь еще делал что-то подобное? Можете ли вы дать мне знать, есть ли какие-либо серьезные подводные камни, о которых я не знаю в данный момент?

python   c   matlab    

490   4   16:03, 1st July, 2020


Кросс-платформенный, язык Agnostic GUI Markup Language?

Я узнал Swing еще в тот день, но теперь я переехал в Python и хочу сделать некоторые приложения с GUIs. У меня не было времени изучить новый GUI API, поэтому я использовал Jython, но я предпочел бы использовать CPython.

Было бы здорово, если бы у меня был один простой markup, который позволяет мне переключать GUI библиотек. Было бы еще лучше, если бы я мог использовать один и тот же язык markup для разных языков, чтобы я мог быстро сделать GUIs для любого языка, который я использую. Кто-нибудь знает о таком markup/library?

Я видел такие накладки, как Glade и wxWidget's markup (я забыл название). Они отчасти то, что я ищу (создание GUI без кодирования его на языке), но они переплетены с определенной библиотекой. И ни один из них не очень хорошо выглядит и не дружелюбен к человеческому редактированию.

python   user-interface   markup    

587   10   16:03, 1st July, 2020


Преобразование байтов в числа с плавающей запятой в Python

У меня есть двоичный файл, который я должен разобрать, и я использую Python. Есть ли способ взять 4 байта и преобразовать их в одно точное число с плавающей запятой?

python   floating-point    

568   3   16:03, 1st July, 2020


Python, Unicode и консоль Windows

Когда я пытаюсь напечатать строку Unicode в консоли Windows, я получаю ошибку UnicodeEncodeError: 'charmap' codec can't encode character .... . Я предполагаю, что это связано с тем, что консоль Windows не принимает символы только Unicode. Как лучше всего это обойти? Есть ли какой-нибудь способ заставить Python автоматически печатать ? вместо сбоя в этой ситуации?

Редактировать: я использую Python 2.5.


Примечание: @LasseV.Karlsen ответ с галочкой вроде как устарел (с 2008 года). Пожалуйста, используйте solutions/answers/suggestions ниже с осторожностью!!

@JFSebastian ответ более актуален на сегодняшний день (6 января 2016 года).

python   unicode    

553   4   16:03, 1st July, 2020


Как я могу рассматривать целое число как массив байтов в Python?

Я пытаюсь расшифровать результат функции Python os.wait(). Это возвращает, согласно Python docs:

кортеж, содержащий его pid и индикацию состояния выхода: 16-разрядное число, младший байт которого является номером сигнала, который убил процесс, и старший байт которого является состоянием выхода (если номер сигнала равен нулю); старший бит младшего байта устанавливается, если был создан файл ядра.

Как декодировать индикацию состояния выхода (которая является целым числом), чтобы получить верхний и Нижний байт? Чтобы быть конкретным, как реализовать функцию декодирования, используемую в следующем фрагменте кода:

(pid,status) = os.wait()
(exitstatus, signum) = decode(status) 

python    

376   7   23:27, 7th August, 2020


Как я должен тестировать модульный генератор кода?

Это сложный и открытый вопрос, я знаю, но я решил бросить его на пол и посмотреть, есть ли у кого-нибудь интересные предложения.

Я разработал генератор кода, который принимает наш интерфейс python к нашему коду C++ (сгенерированному через SWIG) и генерирует код, необходимый для того, чтобы представить его как WebServices. Когда я разрабатывал этот код, я делал это с помощью TDD, но мои тесты оказались чертовски хрупкими. Поскольку каждый тест по существу хотел проверить, что для заданного бита входного кода (который оказывается заголовком C++) я получу заданный бит выходного кода, я написал небольшой движок, который читает определения тестов из входных файлов XML и генерирует тестовые случаи из этих ожиданий.

Проблема в том, что я вообще боюсь идти на изменение кода. Это и тот факт, что сами юнит-тесты а: сложны, а б: хрупки.

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

Есть ли у кого-нибудь опыт чего-то подобного, которым они хотели бы поделиться?

c++   python   unit-testing   code-generation   swig    

488   8   18:49, 9th August, 2020


Как я должен тестировать модульный генератор кода?

Это сложный и открытый вопрос, я знаю, но я решил бросить его на пол и посмотреть, есть ли у кого-нибудь интересные предложения.

Я разработал генератор кода, который принимает наш интерфейс python к нашему коду C++ (сгенерированному через SWIG) и генерирует код, необходимый для того, чтобы представить его как WebServices. Когда я разрабатывал этот код, я делал это с помощью TDD, но мои тесты оказались чертовски хрупкими. Поскольку каждый тест по существу хотел проверить, что для заданного бита входного кода (который оказывается заголовком C++) я получу заданный бит выходного кода, я написал небольшой движок, который читает определения тестов из входных файлов XML и генерирует тестовые случаи из этих ожиданий.

Проблема в том, что я вообще боюсь идти на изменение кода. Это и тот факт, что сами юнит-тесты а: сложны, а б: хрупки.

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

Есть ли у кого-нибудь опыт чего-то подобного, которым они хотели бы поделиться?

c++   python   unit-testing   code-generation   swig    

521   8   02:25, 26th August, 2020


Используя каталог XML с Python lxml?

Есть ли способ, когда я анализирую документ XML с помощью lxml, чтобы проверить этот документ против его DTD с помощью внешнего файла каталога? Мне нужно уметь работать с фиксированными атрибутами, определенными в документе DTD.

python   xml   lxml    

527   3   08:04, 4th August, 2020


Можете ли вы проверить, что исключение выбрасывается с doctest в Python?

Можно ли написать модульный тест doctest, который проверит, что возникло исключение?
Например, если у меня есть функция foo(x) , которая должна вызывать исключение if x<0, как бы я написал doctest для этого?

python   doctest    

480   2   12:14, 20th August, 2020


IronPython и ASP.NET

Кто-нибудь построил сайт с IronPython и ASP.NET. Каковы были ваши впечатления и готова ли комбинация к прайм-тайму?

asp.net   ironpython    

477   3   19:50, 12th August, 2020


Замена для for... при итерации массива

Я люблю понимание списка в Python, потому что они лаконично представляют собой преобразование списка.

Однако на других языках я часто ловлю себя на том, что пишу что-то вроде::

foreach (int x in intArray)
  if (x > 3) //generic condition on x
    x++ 
    //do other processing

Этот пример находится в C#,, где я под впечатлением LINQ может помочь с этим, но есть ли какая-то общая программная конструкция, которая может заменить это слегка less-than-elegant решение? Возможно, структура данных, которую я не рассматриваю?

.net   python   arrays   loops   iteration    

583   6   18:11, 14th August, 2020


Python версия полосатых слешей PHP

Я написал кусок кода для преобразования полосок PHP в допустимые эскейпы Python [обратная косая черта] :

cleaned = stringwithslashes
cleaned = cleaned.replace('\\n', '\n')
cleaned = cleaned.replace('\\r', '\n')
cleaned = cleaned.replace('\\', '')

Как я могу его сгущать?

python   string   escaping    

448   5   06:07, 29th August, 2020


Python регулярных выражений для выполнения строки невыход

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

>>> import re
>>> mystring = r"This is \n a test \r"
>>> p = re.compile( "\\\\(\\S)" )
>>> p.sub( "\\1", mystring )
'This is n a test r'
>>> p.sub( "\\\\\\1", mystring )
'This is \\n a test \\r'
>>> p.sub( "\\\\1", mystring )
'This is \\1 a test \\1'

Я хотел бы заменить \\[char] на \[char], но обратные ссылки в Python, похоже, не следуют тем же правилам, что и в любой другой реализации, которую я когда-либо использовал. Может кто-нибудь пролить свет?

python   regex   backreference    

482   5   08:28, 19th August, 2020


Можете ли вы объяснить closures (как они соотносятся с Python)?

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

python   functional-programming   closures    

487   10   07:21, 3rd August, 2020


Python звук ("Bell")

Я бы хотел, чтобы программа python предупредила меня, когда она завершит свою задачу, издав звуковой сигнал. В настоящее время я использую import os , а затем использую речевую программу командной строки, чтобы сказать "Process complete." я бы предпочел, чтобы это было простое "bell."

Я знаю, что есть функция , которая может быть использована в Cocoa приложениях, NSBeep, но я не думаю, что это имеет какое-то отношение к этому.

Я тоже пробовал

print('\a')

но это не сработало.

Я использую Mac, Если вы не можете сказать по моему комментарию Cocoa , так что это может помочь.

python   macos   audio   terminal    

692   5   10:11, 17th August, 2020


Есть ли модуль python для сопоставления regex в файлах zip

У меня есть более миллиона текстовых файлов, сжатых в 40 zip файлов. У меня также есть список из около 500 наименований моделей телефонов. Я хочу узнать, сколько раз конкретная модель была упомянута в текстовых файлах.

Есть ли какой-либо модуль python, который может выполнить сопоставление regex с файлами, не распаковывая его. Есть ли простой способ решить эту проблему без распаковки?

python   regex   zip   text-processing    

537   4   06:12, 16th August, 2020


Почему документация PyObjC так плоха?

Например, http://developer.apple.com/cocoa/pyobjc.html еще на ОС Х Тигр 10.4, 10.5 не Леопард.. И это официальная документация Apple для него..

Официальная страница PyObjC одинаково плоха, http://pyobjc.sourceforge.net/

Это так плохо, что сбивает с толку.. Я рассматриваю возможность изучения Ruby в первую очередь потому, что материал RubyCocoa намного лучше документирован, и есть много достойных учебников ( например, http://www.rubycocoa.com/ ), а также из-за набора инструментов Shoes GUI..

Даже этот японский учебник badly-auto-translated более полезен, чем rest документации, которую я мог бы найти..

Все, что я хочу сделать, это создать довольно простые приложения Python с Cocoa GUI..
Может ли кто - нибудь пролить свет на ужасную документацию или указать мне на некоторые учебники, которые не просто дают вам огромные блоки кода и предполагают, что вы знаете, что делает NSThread.detachNewThreadSelector_toTarget_withObject_("queryController", self, None) ..?

python   macos   cocoa   pyobjc    

476   9   21:52, 14th August, 2020


Как я могу проверить xml против файла DTD в Python

Мне нужно проверить строку XML (а не файл) против файла описания DTD.

Как это можно сделать в python году ?

python   xml   validation   dtd    

482   2   08:56, 8th August, 2020


Полезный код, который использует reduce()?

Есть ли у кого-нибудь здесь полезный код, который использует функцию reduce() в python? Существует ли какой-либо код, отличный от обычных + и*, которые мы видим в примерах?

Обратитесь к судьбе reduce() в Python 3000 по GvR

python   functional-programming    

573   24   08:45, 27th August, 2020


Прототипирование с помощью кода Python перед компиляцией

Я уже некоторое время обдумываю написание библиотеки peak fitting. Я знаю Python довольно хорошо и планирую реализовать все в Python для начала, но предполагаю, что мне, возможно, придется повторно реализовать некоторые основные подпрограммы на скомпилированном языке в конечном итоге.

IIRC, один из первоначальных ремитов Python был как язык прототипирования, однако Python довольно либеральен в разрешении функций, функторов, объектов для передачи в функции и методы, тогда как я подозреваю, что то же самое не верно для say C или Fortran.

Что я должен знать о проектировании функций / классов, которые я предполагаю, должны будут взаимодействовать с компилируемым языком? И сколько из этих потенциальных проблем решается такими библиотеками, как cTypes, bgen , SWIG , Boost.Python, Cython или Python SIP ?

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

python   swig   ctypes   prototyping   python-sip    

694   7   13:08, 9th August, 2020


Очистка пользовательского ввода с помощью Python

Как лучше всего очистить пользовательский ввод для веб-приложения на базе Python? Существует ли одна функция для удаления HTML символов и любых других необходимых комбинаций символов, чтобы предотвратить атаку XSS или SQL инъекций?

python   xss    

676   7   05:33, 9th August, 2020


Создайте зашифрованный файл ZIP в Python

Я создаю файл ZIP с ZipFile в Python 2.5, он работает нормально до сих пор:

import zipfile, os

locfile = "test.txt"
loczip = os.path.splitext (locfile)[0] + ".zip"
zip = zipfile.ZipFile (loczip, "w")
zip.write (locfile)
zip.close()

но я не мог найти, как зашифровать файлы в файле ZIP. Я мог бы использовать system и вызвать PKZIP-s, но я полагаю, что должен быть более "Pythonic" способ. Я ищу решение с открытым исходным кодом.

python   zip    

538   4   00:32, 27th August, 2020


Как лучше всего распределить инструменты командной строки python?

Мой текущий скрипт setup.py работает нормально, но он устанавливает tvnamer.py (инструмент) как tvnamer.py в пакеты сайта или что-то подобное..

Можно ли сделать setup.py install tvnamer.py как tvnamer и / или есть ли лучший способ установки приложений командной строки?

python   command-line   packaging    

492   1   22:28, 22nd August, 2020


Элегантный способ удаления элементов из последовательности в Python?

Когда я пишу код в Python, мне часто нужно удалить элементы из списка или другого типа последовательности на основе некоторых критериев. Я не нашел решения, которое было бы элегантным и эффективным, так как удаление элементов из списка, который вы сейчас просматриваете, плохо. Например, вы не можете этого сделать:

for name in names:
    if name[-5:] == 'Smith':
        names.remove(name)

Я обычно заканчиваю тем, что делаю что-то вроде этого:

toremove = []
for name in names:
    if name[-5:] == 'Smith':
        toremove.append(name)
for name in toremove:
    names.remove(name)
del toremove

Это неэффективно, довольно уродливо и, возможно, глючно (как он обрабатывает несколько записей 'John Smith'?). Есть ли у кого-нибудь более элегантное решение или, по крайней мере, более эффективное?

Как насчет того, что работает со словарями?

python   optimization   set   series    

531   14   07:59, 2nd August, 2020


Как проверить соответствие набора файлов схеме именования

У меня есть куча файлов (TV эпизодов, хотя это довольно произвольно), которые я хочу проверить, соответствуют определенной схеме именования/организации..

В настоящее время: у меня есть три массива regex, один для допустимых имен файлов, один для файлов, в которых отсутствует имя эпизода, и один для допустимых путей.

Тогда я петли хоть каждый действительный-именем regex, если они совпадают, то добавить его "valid" дикт, если не, сделать тоже самое с missing-ep-name regexs, если он соответствует этому нужно присоединить к "invalid" дикт с кодом ошибки (2:'отсутствует epsiode имя'), если он не соответствует, он будет добавлен к недействительным с 'malformed name' код ошибки.

Текущий код можно найти здесь

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

Как я могу написать эту систему более расширяемым способом?

Правила, которые он должен проверить, были бы..

  • Файл имеет формат Show Name - [01x23] - Episode Name.avi или Show Name - [01xSpecial02] - Special Name.avi или Show Name - [01xExtra01] - Extra Name.avi
  • Если имя файла имеет формат Show Name - [01x23].avi , отобразите его в разделе вывода " отсутствующее имя эпизода
  • Путь должен быть в формате Show Name/season 2/the_file.avi (где сезон 2 должен быть правильным номером сезона в имени файла)
  • каждая папка Show Name/season 1/ должна содержать "folder.jpg"
.

есть идеи? Пока я пытаюсь проверить эпизоды TV, эта концепция / код должен быть применим ко многим вещам..

Единственной мыслью у меня был список диктов в формате:

checker = [
{
    'name':'valid files',
    'type':'file',
    'function':check_valid(), # runs check_valid() on all files
    'status':0 # if it returns True, this is the status the file gets
}

python   validation   naming    

487   2   14:16, 7th August, 2020


Построить базовый итератор Python

Как можно было бы создать итеративную функцию (или объект итератора) в python?

python   object   iterator    

532   9   13:47, 13th August, 2020


Транспонировать/распаковать функцию (обратная zip)?

У меня есть список кортежей из 2 элементов, и я хотел бы преобразовать их в 2 списка, где первый содержит первый элемент в каждом кортеже, а второй список содержит второй элемент.

Например:

original = [('a', 1), ('b', 2), ('c', 3), ('d', 4)]
# and I want to become...
result = (['a', 'b', 'c', 'd'], [1, 2, 3, 4])

Есть ли встроенная функция, которая делает это?

python   list   matrix   transpose    

578   6   10:27, 1st August, 2020


Представляем Python

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

Но в настоящее время один из разработчиков увидел свет Django (на сегодняшний день компания разработала только PHP), в то время как другой разработчик обеспокоен тем, что введение нового языка (Python) является плохой идеей прямо сейчас.

Как они должны подходить к внедрению этой новой технологии? Очевидно, что только один из разработчиков действительно знает Python, не будет никакой избыточности, когда этот разработчик уйдет или покинет компанию.

Должны ли они беспокоиться о том, чтобы ввести Python, или они должны искать решения только для PHP до тех пор, пока у команды на самом деле не будет более одного Pythonion? Без лидера команды, решения должны падать на них.

php   python    

421   8   13:56, 28th August, 2020


Как лучше всего распределить инструменты командной строки python?

Мой текущий скрипт setup.py работает нормально, но он устанавливает tvnamer.py (инструмент) как tvnamer.py в пакеты сайта или что-то подобное..

Можно ли сделать setup.py install tvnamer.py как tvnamer и / или есть ли лучший способ установки приложений командной строки?

python   command-line   packaging    

408   1   04:48, 9th August, 2020


Как лучше всего анализировать аргументы командной строки?

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

python   command-line   command-line-arguments    

543   15   05:01, 7th August, 2020


Найти символические ссылки с Python

Если я вызываю os.stat() на сломанном symlink, python создает исключение OSError . Это делает его полезным для поиска их. Однако есть несколько других причин, по которым os.stat() может вызвать подобное исключение. Есть ли более точный способ обнаружения сломанной symlinks с Python под Linux?

python   linux   symlink    

550   7   02:33, 2nd August, 2020


обновление auto_now DateTimeField в родительской модели w/ Django

У меня есть две модели: сообщение и вложение. Каждое вложение прикрепляется к определенному сообщению, используя ForeignKey в модели вложения. Обе модели имеют auto_now DateTimeField под названием updated. Я пытаюсь сделать так, чтобы при сохранении любого вложения оно также устанавливало обновленное поле в связанном сообщении на now. Вот мой код:

def save(self):
    super(Attachment, self).save()
    self.message.updated = self.updated

Будет ли это работать, и если вы можете объяснить мне, почему? Если нет, то как я должен это сделать?

python   database   django   orm    

545   3   09:14, 24th August, 2020


Указание перечисления mySQL в модели Django

Как мне определить и использовать ENUM в модели Django?

python   mysql   django   django-models   enums    

583   8   21:40, 9th August, 2020


Почему Java и Python методы сбора мусора отличаются?

Python использует метод подсчета ссылок для обработки времени жизни объекта. Таким образом, объект, который больше не имеет смысла, будет немедленно уничтожен.

Но в Java GC (сборщик мусора) уничтожает объекты, которые больше не используются в определенное время.

Почему Java выбирает именно эту стратегию и в чем ее польза?

Это лучше, чем подход Python?

java   python   garbage-collection    

476   9   04:42, 12th August, 2020


Преобразование даты / времени с помощью time.mktime кажется неправильным

>>> import time
>>> time.strptime("01-31-2009", "%m-%d-%Y")
(2009, 1, 31, 0, 0, 0, 5, 31, -1)
>>> time.mktime((2009, 1, 31, 0, 0, 0, 5, 31, -1))
1233378000.0
>>> 60*60*24 # seconds in a day
86400
>>> 1233378000.0 / 86400
14275.208333333334

time.mktime должно возвращать количество секунд с момента начала эпохи. Поскольку я даю ему время в полночь, а эпоха-в полночь, разве результат не должен быть равномерно делим на количество секунд в день?

python   datetime    

473   4   13:42, 12th August, 2020


Как работают механизмы обнаружения контента, такие как Zemanta и Open Calais?

Мне было интересно, как семантический сервис, такой как Open Calais, вычисляет названия компаний или людей, технологические концепции, ключевые слова и т. д. из отрывка текста. Это потому, что у них есть большая база данных, с которой они сопоставляют текст?

Как такая служба, как Zemanta, может знать, какие изображения предложить, например, фрагменту текста?

python   ruby   semantics   zemanta    

409   3   18:24, 26th August, 2020


Unicode против UTF-8 путаница в Python / Django?

Я наткнулся на этот отрывок в учебнике Django :

Модели Django есть ул. по умолчанию () метод, который вызывает unicode () и преобразует результат в UTF-8 bytestring. Это означает, что unicode(p) вернет строку Unicode, а str (p) вернет обычную строку с символами, закодированными как UTF-8.

Теперь я в замешательстве, потому что, насколько мне известно, Unicode-это не какая-то конкретная представленность, так что "Unicode string" в Python? Означает ли это UCS-2? В гугле появился этот "Python Unicode Tutorial" , который смело заявляет:

Unicode-это двухбайтовая кодировка, которая охватывает все распространенные в мире системы письма.

что же здесь явно не так, или это так? Меня много раз смущали проблемы с набором символов и кодировкой, но здесь я совершенно уверен, что документация, которую я читаю, запутана. Кто-нибудь знает, что происходит в Python, когда он дает мне "строку Unicode"?

python   django   unicode    

481   5   07:28, 18th August, 2020


Форматирование чисел в строки в формате Python

Мне нужно выяснить, как форматировать числа в виде строк. Мой код здесь:

return str(hours)+":"+str(minutes)+":"+str(seconds)+" "+ampm

Часы и минуты являются целыми числами, а секунды-плавающей точкой. функция str() преобразует все эти числа в десятые (0.1) места. Поэтому вместо того, чтобы моя строка выводила "5:30:59.07 pm", она будет отображать что-то вроде"5.0:30.0:59.1 pm".

В итоге, какая библиотека / функция мне нужна, чтобы сделать это за меня?

python   string-formatting    

520   7   04:24, 4th August, 2020


Как загрузить файл через HTTP с помощью Python?

У меня есть небольшая утилита, которую я использую, чтобы загрузить MP3 с веб-сайта по расписанию, а затем построить/обновить файл подкаста XML, который я, очевидно, добавил в iTunes.

Обработка текста, которая создает / обновляет файл XML, записывается в Python. Однако я использую wget внутри файла Windows .bat , чтобы загрузить фактический MP3. Хотя я бы предпочел, чтобы вся утилита была написана в Python.

Я изо всех сил пытался найти способ на самом деле вниз загрузить файл в Python, поэтому я прибегнул к wget .

Итак, как мне загрузить файл с помощью Python?

python   http   urllib    

820   22   12:28, 17th August, 2020


Что это лучший способ, чтобы дублировать fork() в windows?

Как мне реализовать некоторую логику, которая позволит мне воспроизвести на Windows функциональность, которую я имею на Linux с системным вызовом fork() , используя Python?

Я специально пытаюсь выполнить метод на компоненте SAPI Com, продолжая другую логику в главном потоке без блокировки или ожидания.

python   windows   process   subprocess   fork    

504   7   08:13, 3rd August, 2020


Как я могу построить график строк истории кода для git РЕПО?

В принципе, я хочу получить номер lines-of-code в репозитории после каждого коммита.

Единственный (действительно дерьмовый) способ, который я нашел, - это использовать git filter-branch для запуска wc -l * , а сценарий, который запускает git reset --hard на каждом коммите, затем запускает wc -l

Чтобы было немного понятнее, когда инструмент запускается, он выводит строки кода самого первого коммита, затем второго и так далее. Это то, что я хочу, чтобы инструмент вывел (в качестве примера):

me@something:~/$ gitsloc --branch master
10
48
153
450
1734
1542

Я поиграл с библиотекой ruby 'git', но ближе всего я нашел метод .lines() на diff, который, похоже, должен давать добавленные строки (но не дает: он возвращает 0, когда вы удаляете строки, например)

require 'rubygems'
require 'git'

total = 0
g = Git.open(working_dir = '/Users/dbr/Desktop/code_projects/tvdb_api')    

last = nil
g.log.each do |cur|
  diff = g.diff(last, cur)
  total = total + diff.lines
  puts total
  last = cur
end

python   ruby   git   lines-of-code    

478   4   01:05, 29th August, 2020


Python генератор кода для Visual Studio?

У меня была идея, если я добавлю файл python .py в свой проект C# и помечу файл пользовательским генератором, который выполнит файл python, и обработает вывод как результат генерации кода, т. е. поместите его в файл C#, что позволит мне сделать довольно много генерации кода в рамках процесса сборки.

Кто-нибудь знает, существует ли такой пользовательский генератор для Visual Studio 2008?

python   visual-studio-2008   code-generation    

484   5   14:25, 24th August, 2020


Как захватить выходные данные интерпретатора Python и/или CMD.EXE's из сценария Python?

  1. Можно ли захватить выходные данные интерпретатора Python из скрипта Python?
  2. Можно ли захватить выходные данные Windows CMD из сценария Python?

Если да, то в какую библиотеку(y|ies) мне следует заглянуть?

python   windows   cmd    

430   5   13:41, 9th August, 2020


Двоичный буфер в Python

В Python вы можете использовать StringIO как файловый буфер для символьных данных. Сопоставленный с памятью файл в основном делает то же самое для двоичных данных, но для этого требуется файл, который используется в качестве основы. Есть ли у Python файловый объект, предназначенный для двоичных данных и являющийся только памятью, эквивалентной Java ByteArrayOutputStream ?

У меня есть вариант использования: я хочу создать файл ZIP в памяти, а ZipFile требует файлоподобного объекта.

python   binary   io   buffer    

442   3   10:46, 1st August, 2020


pyGame в приложении pyGTK

Как лучше всего использовать PyGame (SDL) в приложении PyGTK?

Я ищу метод, который позволяет мне иметь область рисования в окне GTK и в то же время иметь возможность управлять событиями GTK и SDL.

python   gtk   pygtk   sdl   pygame    

446   7   00:45, 24th August, 2020


Python модуль для преобразования PDF в текст

Какие модули Python лучше всего подходят для преобразования PDF файлов в текст?

python   pdf   text-extraction   pdf-scraping    

545   13   22:24, 12th August, 2020


Python отражение супер класса

Если у меня есть код Python

class A():
    pass
class B():
    pass
class C(A, B):
    pass

и у меня есть класс C , есть ли способ перебрать его супер-класс (A и B)? Что-то вроде псевдокода:

>>> magicGetSuperClasses(C)
(<type 'A'>, <type 'B'>)

Одним из решений, по-видимому, является модуль inspect и функция getclasstree .

def magicGetSuperClasses(cls):
    return [o[0] for o in inspect.getclasstree([cls]) if type(o[0]) == type]

но является ли это "Pythonian" способом достижения цели?

python   reflection    

437   4   07:44, 6th August, 2020


Самая чистая и быстрая настройка сервера для Django

Я собираюсь развернуть сайт среднего размера на базе Django. У меня есть выделенный сервер Ubuntu.

Я действительно запутался в том, какой серверный софт использовать. Поэтому я подумал про себя: почему бы не спросить stackoverflow?

То, что я ищу, это:

  • Легко настраивается
  • Быстрый и легкий доступ к ресурсам
  • Могут служить медиафайлы
  • Возможность обслуживать несколько djangosites на одном сервере
  • Я бы предпочел не устанавливать PHP или что-то еще, что высасывает ресурсы, и для чего я не имею никакой пользы.

Я слышал о mod_wsgi и mod_python на Apache, nginx и lighty. Какие из них плюсы и минусы, и не упустил ли я кого-нибудь?

@Barry: почему-то мне кажется, что Apache-это слишком много для меня. А как насчет альтернатив?

@BrianLy: хорошо, я проверю mod_wsgi еще немного. Но зачем мне нужен Apache, если я обслуживаю статические файлы с помощью lighty? Мне также удалось обслуживать само приложение django с помощью lighty. Разве это плохо в любом случае? Прости за то, что вел себя так глупо :-)

UPDATE : а как насчет lighty и nginx - какие варианты использования являются идеальным выбором?

python   django   apache   hosting    

638   13   14:11, 27th August, 2020


Есть ли разница между "foo is None" и "foo = = None"?

Есть ли какая-то разница между ними:

if foo is None: pass

и

if foo == None: pass

Соглашение, которое я видел в большинстве Python кода (и кода, который я сам пишу) является первым, но я недавно наткнулся на код, который использует последнее. Никто не является экземпляром (и единственным экземпляром, IIRC) из NoneType, так что это не должно иметь значения, верно? Есть ли какие-то обстоятельства, при которых это могло бы произойти?

python    

664   12   22:35, 27th August, 2020


wxpython: как я могу проверить данные перетаскивания в OnDragOver?

Я немного озадачен перетаскиванием в wxPython (но, возможно, эти вопросы относятся и к перетаскиванию в других фреймворках GUI). Фреймворки предоставляют несколько обратных вызовов (OnEnter и OnDragOver), которые предположительно позволяют мне сообщить системе, является ли текущая позиция мыши допустимым местом для удаления того, что перетаскивается. Из этих методов я могу вернуть wx.DragNone, wx.DragCopy и т. д. Что меня озадачивает, так это то, что из этих методов мне не разрешено вызывать GetData, что означает, что мне не разрешено проверять данные, которые пользователь перетаскивает. Если я не могу видеть данные, как я должен знать, является ли это OK для пользователя, чтобы упасть здесь?

python   user-interface   drag-and-drop   wxpython   wxwidgets    

359   2   22:05, 6th August, 2020


Где я могу узнать больше о функции перевода PyPy?

У меня возникли трудное время, пытаясь понять перевод PyPy по. Это выглядит как что-то абсолютно революционное от простого чтения описания, однако мне трудно найти хорошую документацию по фактическому переводу реального фрагмента кода на что-то вроде LLVM. Существует ли такая вещь? Официальная документация PyPy на нем просто скользит по функциональности, а не предоставляет что-либо, что я могу попробовать сам.

python   translation   pypy    

452   5   08:18, 3rd August, 2020


Имеет ли PHP эквивалент этому типу подстановки строк Python?

Python имеет этот замечательный способ обработки подстановок строк с помощью словарей:

>>> 'The %(site)s site %(adj)s because it %(adj)s' % {'site':'Stackoverflow', 'adj':'rocks'}
'The Stackoverflow site rocks because it rocks'

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

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

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

Редактировать
Вот код со страницы sprintf, который мне больше всего понравился.

<?php

function sprintf3($str, $vars, $char = '%')
{
    $tmp = array();
    foreach($vars as $k => $v)
    {
        $tmp[$char . $k . $char] = $v;
    }
    return str_replace(array_keys($tmp), array_values($tmp), $str);
}

echo sprintf3( 'The %site% site %adj% because it %adj%', array('site'=>'Stackoverflow', 'adj'=>'rocks'));
?>

php   python   string    

439   3   12:36, 13th August, 2020


Действительно ли "safe_eval" безопасен?

Я ищу функцию "safe" eval, чтобы реализовать вычисления, подобные электронным таблицам (используя numpy/scipy).

Функциональность для этого ( модуль rexec) была удалена из Python с 2.3 из-за явно нефиксируемых проблем безопасности. Есть несколько сторонних хаков, которые претендуют на это - самое продуманное решение, которое я нашел, это это Python рецепт Кукбока, "safe_eval".

Достаточно ли я безопасен, если я использую это (или что-то подобное), чтобы защитить от вредоносного кода, или я застрял с написанием собственного парсера? Кто-нибудь знает лучшие альтернативы?

EDIT: я только что открыл RestrictedPython, который является частью Zope. Любые мнения по этому поводу приветствуются.

python   security    

422   6   15:48, 5th August, 2020


Наиболее подходящие для Python способ эквивалентны: а ((х = next()) != КОНЕЦ)

Какая лучшая идиома Python для этой конструкции C?

while ((x = next()) != END) {
    ....
}

У меня нет возможности перекодировать next().

обновление: и ответ от, кажется, будет:

for x in iter(next, END):
    ....

c   python    

442   7   10:32, 6th August, 2020


Лучший способ извлечь данные из базы данных FileMaker Pro в скрипте?

Моя работа была бы проще или, по крайней мере, менее утомительной, если бы я мог придумать автоматизированный способ (предпочтительно в сценарии Python) извлечения полезной информации из базы данных FileMaker Pro. Я работаю на машине Linux, и база данных FileMaker находится на том же самом LAN, работающем на машине OS X. Я могу войти в веб-интерфейс с моей машины.

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

Это не мой первый выбор,но я бы использовал Perl вместо Python, если бы под рукой было решение Perl-Y.

Примечание: сервисы XML/XSLT (как предлагают некоторые люди) доступны только на FM-сервере, а не на FM Pro. В противном случае, это, вероятно, было бы лучшим решением. ODBC оказывается чрезвычайно трудно даже заставить работать. Существует абсолютно нулевая обратная связь от FM, когда вы настраиваете его, так что вам придется копаться в /var/log/system.log и анализировать неясные сообщения об ошибках.

Вывод : я получил его работу, запустив сценарий python локально на машине, которая запрашивает базу данных FM через соединения ODBC. Скрипт на самом деле является TCPServer, который принимает сокетные соединения от других систем на LAN, выполняет запросы и возвращает данные через сокетное соединение. Мне пришлось сделать это, чтобы обойти тот факт, что FM Pro принимает только ODBC соединений локально (FM сервер требуется для внешних подключений).

python   linux   perl   scripting   filemaker    

533   3   18:17, 18th August, 2020


Какие инструменты рефакторинга вы используете для Python?

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

Простой поиск и замена только помогает мне до сих пор. В моем случае, я хочу переименовать AdminAction в AdminActionPlug и AdminActionLogger в AdminActionLoggerPlug, так что первый из них search-and-replace также попадет во второй, ошибочно.

Есть ли у кого-нибудь опыт работы с инструментами рефакторинга Python ? Бонусные очки, если они могут исправить имена классов в документах XML тоже.

python   refactoring    

475   7   12:45, 2nd August, 2020


Как лучше всего использовать веб-сервисы в python?

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

Я хотел узнать, что является лучшим / наиболее практичным решением для использования веб-сервисов в python.

Редактировать: Мне нужно потреблять комплекс soap WS и у меня нет никакого контроля над этим.

python   web-services   soap    

381   3   01:16, 23rd August, 2020


Как создать документ xml в python

Вот мой пример кода:

from xml.dom.minidom import *
def make_xml():
    doc = Document()
    node = doc.createElement('foo')
    node.innerText = 'bar'
    doc.appendChild(node)
    return doc
if __name__ == '__main__':
    make_xml().writexml(sys.stdout)

когда я запускаю приведенный выше код я получаю это:

<?xml version="1.0" ?>
<foo/>

Я хотел бы получить:

<?xml version="1.0" ?>
<foo>bar</foo>

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

python   xml    

405   3   12:43, 19th August, 2020


Как использовать Python distutils?

Я написал небольшой программы в python добавить gtk GUI программы командной строки. Мне было интересно, как я могу создать установщик с помощью distutils. Поскольку это всего лишь интерфейс GUI для приложения командной строки, он все равно работает только в *nix, поэтому я не беспокоюсь о том, что он кросс-платформенный.

моя главная цель-создать пакет .deb для пользователей debian/ubuntu, но я не понимаю make/configure файлов. До сих пор я в основном был веб-разработчиком.

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

Вот несколько полезных ссылок

  • Ubuntu Python Руководство По Упаковке

    Это руководство очень полезно. Я не знаю, как я пропустил это во время моей первой волны гулинга. Он даже проведет вас через упаковку существующего приложения python

  • Проект Ubuntu MOTU

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

  • "Python distutils to deb?"-обсуждение на форуме Ars Technica

    Согласно этому разговору, вы не можете просто использовать дистутилы. Он не соответствует формату упаковки debian (или что-то в этом роде). Я думаю, именно поэтому вам нужен dh_make, как показано в руководстве по упаковке Ubuntu

  • "Команда bdist_deb для distutils

    Здесь есть несколько интересных обсуждений (это также то, как я нашел руководство ubuntu) о соединении zip-файла и shell-скрипта для создания какого-то универсального исполняемого файла (все, что имеет python и bash). странный. Дайте мне знать, если кто-нибудь найдет больше информации об этой практике, потому что я никогда о ней не слышал.

  • Описание формата deb и как distutils вписываются в список рассылки - python

python   linux   installer   debian   distutils    

526   5   23:10, 7th August, 2020


Установите Python, чтобы соответствовать макету каталога в OS X 10.5

Установка по умолчанию Python на OS X 10.5 - это 2.5.1 с 32-разрядным клиентом FAT (Intel и PPC). Я хочу настроить apache и mysql для запуска django. В прошлом я запускал Apache и MySQL, чтобы соответствовать этой установке в 32-битном режиме (даже удаляя 64-битный материал из Apache, чтобы заставить его работать).

Я хочу обновить Python до 64 бит. Я полностью доволен компиляцией его из источника с одной оговоркой. Как я могу соответствовать способу установки по умолчанию? Особенно, что касается пакетов сайтов, находящихся в /Library/Python/2.5/ , а не в похороненном в верхней части фреймворка, как только я его скомпилирую.

python   macos   64-bit    

396   5   16:20, 19th August, 2020


Есть у кого решение этой задачки на питоне?

Помогите пожалуйста, есть у кого решение этой задачи (желательно на питоне)? Всё никак не могу с ней разобраться.

https://codeforces.com/contest/731/problem/B

питон   codeforce   python   решение  

687   3   22:35, 7th September, 2020


Python: посоветуйте форум, конференцию или похожее

Здравствуйте!

Я начинающий программист на python, но имею опыт разработки на других языках программирования. Посоветуйте мне, пожалуйста, форум, конференцию, может быть jabber-комнату, где общаются люди, занимающиеся разработкой на python. Часто возникают какие-нибудь вопросы, а самому не получается найти ответ. Такие места общения позволяют оперативно решить вопрос с минимумом затрат времени.

С уважением, Михаил

Python    

334   12   04:13, 17th August, 2020


Как задать свой autoincrement primary key в AppEngine/Python?

Есть, допустим, класс статьи, экземпляры которых хранятся в гугловском дата сторадже. И хочется дать на неё ссылку:

[ a href="/article/{{ article.uid }}" ]

Чтобы получилось типа такого:

[ a href="/article/55" ]

У гугла есть свои UUID'ы, но уж больно они страшны для для того чтобы быть частью урла: ahBzb3ZpZXRncm9vdmVibG9ncg0LEgdBcnRpY2xlGAgM.

Python   G   Suite    

320   2   03:48, 17th August, 2020


Python. Ограничение вводимых данных

Не программист, вожусь с питоном just4fun. Возник вопрос по raw_input — можно ли как-то принудительно ограничить объем вводимых данных? Пытался нагуглить ответ — то ли неправильно гуглил, то ли распространенного решения нет, то ли это никому не нужно, т.к. в питоне есть встроенные автоматические средства защиты от дурака и можно не заморачиваться.

Python    

307   4   08:31, 25th August, 2020


С чего начать изучение python?

Может плохо искал, но мне не попадались адекватные книги или сайты (желательно русскоязычные) на тему изучения данного языка с нуля. Буду рад ссылкам или названиям.

Python    

371   11   13:50, 15th August, 2020


Создание .pyc и .pyo файлов?

Собственно вопрос такой: «Как при наличии файла .py сделать из него .pyc и .pyo? (Знаю что можно импортировать модуль, но хотелось бы как-нибудь по другому. типо ключика перед запуском)»

Python    

294   3   18:51, 15th August, 2020


Python для научного программирования?

Слышал про библиотеки NumPy, SciPy и Matplotlib, ну как слышал, на википедии прочитал :-) Кто ими пользовался, какие преимущества перед МатЛабом или МатКадом, можно ли обрабатывать большие объемы данных с помощью сложных мат преобразований, и красиво выводить результаты.

Python    

323   6   08:46, 9th August, 2020


Посоветуйте хорошие книги по Python'у ориентированные на веб-разработку

Пхп надоел, хочется новенького. Решил взяться за изучение питона. Посоветуйте хорошие книженции (только не для чайников :). Английский или русский — все равно.
Вооружившись питоном хочу перейти к изучению Google App Engine — по нему тоже хотелось бы чего-нить интересного почитать.

Python   Компьютерные   сети    

327   6   21:56, 6th August, 2020


Экспорт документов из google-docs через python-api

простой код экспорта из google docs
# -*- coding: utf-8 -*-
import gdata.docs
import gdata.docs.service
gd_client = gdata.docs.service.DocsService()
gd_client.ClientLogin('login@gmail.com', 'superpassword')

#загружаем файл print.html в google docs
ms = gdata.MediaSource(file_path='print.html', content_type="text/html")
entry = gd_client.Upload(ms, 'NewDocument')

#экспортируем файл в doc
file_path = 'print.doc'
gd_client.Export(entry, file_path)



на выходе формат файла pdf, а не doc.

Python   Google   Drive    

275   3   19:45, 19th August, 2020


Python Remote Objects — написанный код?

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

Сабж следующий.


Был ли у Вас опыт написания распределенных, приложений, на питоне — можете поделиться опытом?


Любое упоминание про актуальную информацию: статьи, названия учебников, тематические порталы, опен-сурс проекты, интересные исходники, краткое резюме существующих архитектур проектов(если такие бывают) — будут встречены с радостью и одобрением.


Спасибо.

Opera   Python   Распределенные   вычисления    

382   3   20:30, 13th August, 2020


Как заматчить в питоне многострочный текст регэкспом?

Как заматчить в питоне текст из файла регэкспом? не ограничиваясь \r\n.

Python   Регулярные   выражения    

430   1   15:09, 23rd August, 2020


Python Remote Objects — написанный код?

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

Сабж следующий.


Был ли у Вас опыт написания распределенных, приложений, на питоне — можете поделиться опытом?


Любое упоминание про актуальную информацию: статьи, названия учебников, тематические порталы, опен-сурс проекты, интересные исходники, краткое резюме существующих архитектур проектов(если такие бывают) — будут встречены с радостью и одобрением.


Спасибо.

Opera   Python   Распределенные   вычисления    

413   3   03:32, 3rd August, 2020


Как заматчить в питоне многострочный текст регэкспом?

Как заматчить в питоне текст из файла регэкспом? не ограничиваясь \r\n.

Python   Регулярные   выражения    

373   1   00:52, 22nd August, 2020


Среда разработки многоанетных систем на Python (аналог JADE для Java)?

Собственно, сабж. Знает ли кто-нибудь аналог JADE? Хотелось бы, чтобы она была совместима с FIPA. Если кто сталкивался с этим, с удовольствием бы услышал опыт проектирования таких систем.


Спасибо!

Python    

320   1   10:29, 26th August, 2020


Python + paramiko + shell script?

Добрый день!


Передо мной стоит следующая задача — создать SSH соединение с сервером, залить по SFTP файлы (конкретно — сорцы) и запустить там скрипт сборки.

Делаю это на Python с помощью paramiko. Все ок кроме собственно запуска скрипта. Запускаю его через exec_command и вижу только пару первых сообщений и далее скрипт прекращается (именно питоновский, значит exec_command отработал). Подскажите — как правильно подождать завершение работы скрипта и вывести все его сообщения?


Вот вырезки из кода:
paramiko.util.log_to_file('ssh_session.log')
ssh = SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())

try:
    ssh.connect(ssh_conf.server_address, ssh_conf.server_port, ssh_conf.login, None, my_pkey, 60)
except:
    print 'Error connect'
    sys.exit(1)

_sftp = ssh.open_sftp()
SyncFolders(_sftp, ssh_conf.source_folder, ssh_conf.dest_folder)

print ssh.exec_command('chmod +x' + ssh_conf.dest_folder + '/build.sh')[1].read()
# iOrange - performing build
print ssh.exec_command('sh ' + ssh_conf.dest_folder + '/build.sh')[1].read()

Python   SSH    

366   1   05:19, 6th August, 2020


Куда идти после php? Ruby или Python?

Собственно вопрос в заголовке :) Хочется услышать принципиальные различия между языками. Для каких задач что лучше подходит?

Ruby   PHP   Python   Веб-разработка    

536   27   18:52, 15th August, 2020


Подскажите книгу по Python'у

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

Python   Книги    

342   6   05:01, 26th August, 2020


python, применение locale.setlocale

Есть два хоста, один с серверной Ubuntu 10.04, второй — с Linux Mint Rosinka 8.
Есть python-скрипт, парсящий html, передающий GETом данные в форму и проч.
На хосте с Ubuntu скрипт работает, на хосте с Mint — нет, т.к. махинации с кириллическими символами почему-то уже не срабатывают.
Единственная важная (имхо) разница между хостами — локаль:
LANG=ru_RU.UTF-8 — на Mint
LANG=en_US.UTF-8 — на Ubuntu
Пробовал добавить в скрипт на минте
import locale
locale.setlocale(locale.LC_ALL, "en_US.UTF-8")
,
но никакого толку.
В питоне не эксперт, выбрал его для того скрипта просто интереса ради. Еле победил кириллицу на убунтовском серваке, а тут дальше такой факап…
Может, кто сталкивался с подобным?

Python    

271   1   03:36, 15th August, 2020


Разъясните нюанс в наследовании класов в Python?

Есть такой код:

<font color="black"><a href="http://s-c.me/9339/s">Copy&nbsp;Source</a>&nbsp;|&nbsp;<a href="http://s-c.me/9339/h">Copy&nbsp;HTML</a><ol>
<li><font color="#008000">'''</font><br/>
<font color="#008000">Базовый&nbsp;класс</font><br/>
<font color="#008000">'''</font></li>
<li><font color="#0000ff">class</font> <font color="#cc6633">Component</font>():</li>
<li>&nbsp;</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;connects = []</li>
<li>&nbsp;</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;<font color="#008000">'''</font><br/>
<font color="#008000">&nbsp;&nbsp;&nbsp;&nbsp;Метод&nbsp;добавляе&nbsp;объект&nbsp;в&nbsp;коллекцию</font><br/>
<font color="#008000">&nbsp;&nbsp;&nbsp;&nbsp;'''</font></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;<font color="#0000ff">def</font> <font color="#cc6633">connect</font>(self, object):</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<b>self</b>.connects.append(object)</li>
<li>&nbsp;</li>
<li>&nbsp;</li>
<li><font color="#008000">'''</font><br/>
<font color="#008000">Подкласс&nbsp;1</font><br/>
<font color="#008000">'''</font></li>
<li><font color="#0000ff">class</font> <font color="#cc6633">Component1</font>(<font color="#cc6633">Component</font>):</li>
<li>&nbsp;</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;<font color="#0000ff">def</font> <font color="#cc6633">getData</font>(self):</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#0000ff">print</font> <font color="#008000">123</font></li>
<li>&nbsp;</li>
<li>&nbsp;</li>
<li><font color="#008000">'''</font><br/>
<font color="#008000">Подкласс&nbsp;2</font><br/>
<font color="#008000">'''</font></li>
<li><font color="#0000ff">class</font> <font color="#cc6633">Component2</font>(<font color="#cc6633">Component</font>):</li>
<li>&nbsp;</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;<font color="#0000ff">def</font> <font color="#cc6633">getData</font>(self):</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color="#0000ff">print</font> <font color="#008000">123</font></li>
<li>&nbsp;</li>
<li>&nbsp;</li>
<li>&nbsp;</li>
<li><font color="#008000">'''</font><br/>
<font color="#008000">Инстанцируем</font><br/>
<font color="#008000">'''</font></li>
<li>c1 = <font color="#cc6633">Component1</font>()</li>
<li>c2 = <font color="#cc6633">Component2</font>()</li>
<li>&nbsp;</li>
<li><font color="#008000">'''</font><br/>
<font color="#008000">Проверяем&nbsp;кол-во&nbsp;элементов&nbsp;в&nbsp;подклассе&nbsp;2</font><br/>
<font color="#008000">'''</font></li>
<li><font color="#0000ff">print</font> <b>len</b>(<font color="#cc6633">Component2</font>.connects) <font color="#696969">#&nbsp;0</font></li>
<li>&nbsp;</li>
<li><font color="#008000">'''</font><br/>
<font color="#008000">Добавляем&nbsp;первому&nbsp;подклассу&nbsp;в&nbsp;объект&nbsp;коллекцию</font><br/>
<font color="#008000">'''</font></li>
<li>c1.<font color="#cc6633">connect</font>(c2)</li>
<li>&nbsp;</li>
<li><font color="#008000">'''</font><br/>
<font color="#008000">Проверяем&nbsp;кол-во&nbsp;элементов&nbsp;в&nbsp;подклассе&nbsp;2</font><br/>
<font color="#008000">'''</font></li>
<li><font color="#0000ff">print</font> <b>len</b>(<font color="#cc6633">Component2</font>.connects) <font color="#696969">#&nbsp;1&nbsp;</font></li>
</ol></font>



Почему меняется кол-во элементов в коллекции второго объекта, если я добавляю элемент к коллекции первого объекта?

Python    

350   3   10:24, 5th August, 2020


Многопоточное программирование?

Где бы почитать про эту вещь в хорошем теоретическом аспекте, где были бы освещены паттерны, примеры, проблемы, хитрости и тому подобное?

Желательно в применении к Python, но это не столь важно, куда важнее получить базис.

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

Python   Многопоточность    

348   3   10:23, 23rd August, 2020


Python. С чего начать учить?

Хочу кодить под Убунту, ну и просто выучить Python.

С чего начать? Что читать, где взять, что и как?

Python   IT-образование    

355   6   19:38, 26th August, 2020


Проблема связи php и python через memcached?

если совершается set из php в memcache то при попытке сделать get по такому ключу из python получаю:
&gt;&gt;&gt; import sys; print('%s %s' % (sys.executable or sys.platform, sys.version))<br/>
/usr/bin/python2.6 2.6.6 (r266:84292, Sep 15 2010, 15:52:39) <br/>
[GCC 4.4.5]<br/>
&gt;&gt;&gt; import memcache<br/>
&gt;&gt;&gt; import binascii<br/>
&gt;&gt;&gt; m=memcache.Client(['127.0.0.1:11211'], debug=0)<br/>
&gt;&gt;&gt; def php_hash(key):<br/>
... return (binascii.crc32(key) &gt;&gt; 16) & 0x7fff<br/>
... <br/>
&gt;&gt;&gt; m.get((php_hash(mfd.php_nexttime), mfd.php_nexttime))<br/>
Traceback (most recent call last):<br/>
 File &quot;&quot;, line 1, in NameError: name 'mfd' is not defined<br/>
&gt;&gt;&gt; m.get((php_hash('mfd.php_nexttime'), 'mfd.php_nexttime'))<br/>
Traceback (most recent call last):<br/>
 File &quot;&quot;, line 1, in  File &quot;/usr/lib/pymodules/python2.6/memcache.py&quot;, line 779, in get<br/>
 return self._get('get', key)<br/>
 File &quot;/usr/lib/pymodules/python2.6/memcache.py&quot;, line 766, in _get<br/>
 value = self._recv_value(server, flags, rlen)<br/>
 File &quot;/usr/lib/pymodules/python2.6/memcache.py&quot;, line 915, in _recv_value<br/>
 return val<br/>
UnboundLocalError: local variable 'val' referenced before assignment<br/>
<br/>
Устал гуглить может кто ни будь сталкивался?

PHP   Python   Memcached    

322   3   17:19, 24th August, 2020


Модули для Python2.7 в mint 10

Я поставил минт 10-й. Там по умолчанию установлен интерпритатор 2.6.6, но через менеджер пакетов можно установить 2.7, что я и сделал.
Проблема в том, что при установке модулей из менеджера(майэскьюэльдэбэ, джанго и так далее) они ставятся на 2.6.6, в 2.7 же их можно ставить только через скачивание пакетов и командную строку.
Можно ли както заставить менеджер пакетов выбирать, на какой пайтон ставить модули, или чтобы он всегда ставил их на 2.7?

Python   Mint   Synaptics    

338   2   02:29, 15th August, 2020


Вызов python3 скрипта из java?

Пользуюсь на домашнем сервачке для скачки торрентов uTorrent for Linux.


Он имеет один большой (для меня) недостаток — в нем нет возможности определить, в какую папку загружать данный конкретный торрент.


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

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


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

Прошу помощи.

Python   Java    

323   3   04:37, 5th August, 2020


Стоит ли сейчас python-щику изучать Java или C++?

Заранеее извиняюсь, если вопрос покажется холиварным.
Поэтому прошу без эмоций.

Собственно ситуация следующая:
знаю python и django 2 года,
но хочется выучить статически-компилируемый язык, да и в целом чего-то более серьезного.
Область: web server-side.

В общем-то все бы ничего, python очень хорош, но вакансий мало.
В будущем планирую зарубеж, поэтому по вакансиям ориентируюсь на:
www.monster.com/
www.dice.com/

по java/c++ в десятки раз вакансий больше.

Начал изучать java, но в свете последних непонятных событий с java желание слегка убавляется.

Прошу помощи у сообщества, хотелось бы услышать советы в какую сторону стоит копать,
нужно что-либо кроссплатформенное (поэтому .NET отпадает).

c++ не знаю, и по алгоритмам в общем-то тоже не особо силен.

пока видятся следующие претенденты на ближайшее изучение:
— java (собственное стоит ли бояться за ее будущее?)
— c++
— c
— go
— erlang
— c#

Спасибо за любую информацию.

Python   Java   C++    

428   8   12:50, 23rd August, 2020


Библиотеки Python, для научных расчетов?

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


Пример:


-2.84 = k3*82.19 + k4*15.42 + k9*0.73


0.08 = -k1*15.12 + k2*11.08 + k6*7.43 — k9*…


1.58…


0.001…


Нужно найти все k в этом.


UPD:


В некоторых уравнениях неизвестно по 3 по 4 k — их можно только или подобрать, или я не знаю, что…

Python    

385   2   07:54, 17th August, 2020


Получить все реплаи к твиту

Мне нужно получить все реплаи к определенному твиту, как это делает веб-клиент на twitter.com

Я пишу на python, но все готовые решения я уже просмотрел и там нет нужного функционала. Пример.

Python   Компьютерные   сети    

366   1   17:15, 2nd August, 2020


Connect python gtk application and facebook?

Захотел я попробовать создать небольшое приложение на gtk с возможностью отправки сообщений на аккаунт в facebook. Возникла проблема с авторизацией.

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

Может кто-то то уже сталкивался с подобной проблемой и подскажет как мне авторизовать пользователя на фейсбуке из десктопного приложения.

Знаю что это реализовано в gwibber, но там все очень сложно. Хотелось бы простых примеров, чтоб понять как нужно делать.

Python   Facebook   GTK+   Мобильная   разработка    

428   2   20:44, 17th August, 2020


Python vs Java

Добрый день.
Стою перед нелегким выбором. Если максимально упростить задачу, у меня есть 2 вакансии: соответственно Python/Django и JavaEE.
Будем считать, что условия работы одинаковые, зарплаты одинаковые (хотя, до офиса питоноводов мне гораздо ближе) и знаю я обе платформы одинаково средне.

Вопрос к знатокам: что перспективней? В какой области специалисты больше ценятся и легче находят работу? Помогите определиться:)

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

Python   Java    

289   12   23:22, 13th August, 2020


PHP tokenizer на Python?

Существует ли аналог tokenizer'a из PHP на Python, либо же подобные лексеры для разбора PHP-кода?

PHP   Python    

373   1   04:45, 20th August, 2020


С какой версии начать изучение python?

Закончились наконец-то мои внутренние муки выбора той технологии, которую хочу начать изучать.

На основе прочтения многих постов, вопросов и ответов, блогов и т.д. пришел к выводу, что это будет Python. И django в перспективе.

И, соответственно, озадачился выбором литературы. На хабре большинство по моим наблюдением советует книгу «Изучаем Python» Марка Лутца. Но есть одно но: только 3-е издание книги переведено на русский(а хочется читать на родном всё-таки), в ней рассматривается второй Python. Есть более свежая книга, «Программирование на Python 3. Подробное руководство»(озон), в ней рассматривается как раз 3-я версия Python'а. Так же, видел мнения что стоит начать изучение со второй версии, так как третья пока сыровата(но может быть это мнение уже устарело, не знаю).

Вот и встала передо мной диллема: изучать по более новой, но не проверенной книге, и сразу впитывать все новшества и плюсы новой версии. Либо читать зарекомендовавшую себя книгу, пусть и по более старой, но проверенной версии python'a? Тем более, посмотрев на официальном сайте, понял что поддерживаются обе ветки(и написано: если не знаете, что выбрать, выбирайте 2ую версию).

Python   Книги    

406   14   14:20, 15th August, 2020


Вопросы по sqlalchemy

1. Можно ли с помощью sqlalchemy получить названия столбцов БД и как-нибудь динамически ими оперировать (не задавая их непосредственно в классе, который мапится)

2. Как, собственно, создавать/удалять/редактировать столбцы

3. Есть у меня записи и тэги со связью многие-ко-многим через третью таблицу, например, как здесь. Как правильно написать класс для таблицы связей с учётом того, что там нет первичного ключа?

Python   SQL    

478   4   05:19, 24th August, 2020


Как заставить PyQt работать с русскими доменами?

Столкнулся с проблемой при работе с QUrl на питоне. В общих чертах имеем такой тестовый код:



from PyQt4.QtCore import QUrl<br/>
<br/>
print QUrl('http://xn--d1abbgf6aiiy.xn--p1ai/').toString()<br/>




Под windows он возвращает ожидаемый результат:

<a href="http://xn--d1abbgf6aiiy.xn--p1ai/">xn--d1abbgf6aiiy.xn--p1ai/</a>




А под FreeBSD такой:

<a href="http://xn--d1abbgf6aiiy.xn--d1abbgf6aiiyxn--p1ai/">xn--d1abbgf6aiiy.xn--d1abbgf6aiiyxn--p1ai/</a>




PyQt отсюда www.riverbankcomputing.co.uk/software/pyqt/download версии 4.8.1

Python   PyQt    

336   2   15:18, 1st August, 2020


Установка QT для Python?

На мой предыдущий вопрос к сожалению ответа не нашлось ни здесь ни на stackoverflow. Поэтому задумался о том как убедится что на сервере стоит последняя версия QT. Если я правильно понимаю PyQt это лишь набор привязок, и собственно самих библиотек там нет — только интерфейсы. В связи с чем вопрос — как правильно устанавливать QT и откуда, что бы все было последних версий? Для windows я просто скачал набор бинарников отсюда. Собственно я даже не знаю как узнать версию установленных библиотек :(



P. S. И да на сервере стоит FreeBSD 8.0. Администратор говорит что установил PyQt-x11-gpl-4.8.1 но я не сильно ему верю.

Python   PyQt    

314   3   07:40, 8th August, 2020


Посоветуйте книжку по Python

День добрый.

Заглянул на ozon и amazon с целью найти книжку по Python. Предложений много. Книги дорогие.
Не знаю, что и покупать. Посоветуйте, пожалуйста. Желательно, чтобы книга была заточена под программирование на питоне под веб.

Спасибо.

Python    

313   6   02:27, 7th August, 2020


Установка библиотеки PIL с поддержкой JPEG под Snow Leopard?

Проблема в следующем: не ставится PIL с поддержкой JPEG. Библиотеку libjpeg установил через macport:



sudo python setup.py build

running build

running build_py

running build_ext

— using frameworks at /System/Library/Frameworks

— PIL 1.1.7 SETUP SUMMARY

— version 1.1.7

platform darwin 2.7 (r27:82508, Jul 3 2010, 21:12:11)

[GCC 4.0.1 (Apple Inc. build 5493)]

— — TKINTER support available

— JPEG support available

— ZLIB (PNG/ZIP) support available

— FREETYPE2 support available

— LITTLECMS support available

— To check the build, run the selftest.py script.

running build_scripts



— JPEG support available — типа все ОК, библиотека стоит



Устанавливаю, делаю

python selftest.py

— PIL 1.1.7 TEST SUMMARY

— Python modules loaded from ./PIL

Binary modules loaded from ./PIL

— — PIL CORE support ok

— TKINTER support ok

*** JPEG support not installed

— ZLIB (PNG/ZIP) support ok

— FREETYPE2 support ok

— LITTLECMS support ok

— Running selftest:

*****************************************************************

Failure in example:

try:

_info(Image.open(os.path.join(ROOT, «Images/lena.jpg»)))

except IOError, v:

print v

from line #24 of selftest.testimage

Expected: ('JPEG', 'RGB', (128, 128))

Got: decoder jpeg not available

1 items had failures:

1 of 57 in selftest.testimage

***Test Failed*** 1 failures.

*** 1 tests of 57 failed.



Говорит что JPEG support not installed и естественно не работает.



Предварительно PIL удалял и ставил по-новой, результат тот же.



Кто-нибудь сталкивался с такой проблемой?

Python    

378   1   14:11, 11th August, 2020


python, json

Вопрос такой, получаю json от google translate а он не хочет парситься.
Что делаю не так?
res = urllib2.urlopen(request).read()
data = json.loads(res)


выдает следующее
Traceback (most recent call last):
File "./translate.py", line 27, in data = json.loads(res)
File "/usr/lib/python2.6/json/__init__.py", line 307, in loads
return _default_decoder.decode(s)
File "/usr/lib/python2.6/json/decoder.py", line 319, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "/usr/lib/python2.6/json/decoder.py", line 336, in raw_decode
obj, end = self._scanner.iterscan(s, **kw).next()
File "/usr/lib/python2.6/json/scanner.py", line 55, in iterscan
rval, next_pos = action(m, context)
File "/usr/lib/python2.6/json/decoder.py", line 219, in JSONArray
raise ValueError(errmsg("Expecting object", s, end))
ValueError: Expecting object: line 1 column 158 (char 158)

если сделать print(res) то выводит:
[[["привет","hi","privet",""]],[["abbreviation",["Гавайи"]],["interjection",["привет","эй","ну","салют","здор `ово"]]],"en",,[["привет",[5],1,,1000,0,1,0]],[["hi",4,,,""],["hi",5,[["привет",1000,1,]],[[0,2]],"hi"]],,,,21]

Python   JSON    

273   3   13:15, 27th August, 2020


Общение с http-прокси через сокеты на Python?

Проблема проста — хочу передать POST-запрос через http-прокси в Python на сокетах, но или возникают различные ошибки SocketError, или код просто зависает на передаче (send/sendall) или приёме (recv/recvall) данных.



Скажите, в чём причина такого поведения (или, даже лучше, посоветуйте рабочий вариант)?

Python   Proxy    

338   2   22:11, 25th August, 2020


Библиотека для построения time series графиков по большому объему данных?

Порекомендуйте C/C++/Python библиотеку для построения time series графиков так же просто, как это позволяет делать dygraphs, но значительно быстрее. Объем данных большой — миллионы записей, время по оси X — с точностью до миллисекунды.

Python   C   Инфографика   C++    

376   1   22:42, 18th August, 2020


Книга "Python в системном администрировании UNIX и Linux"

image
www.ozon.ru/context/detail/id/4220809/

Кто-то читал?
Сейчас ищу хорошую литературу по Python. Интересует разработка несложных приложений для автоматизации рутинных админских задач (мониторилки, бекапы, парсинг логов). Грубо говоря, как использовать python в качестве более продвинутой альтернативы bash-скриптов.
Желательно побольше примеров.

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

Python   Книги    

414   4   07:15, 8th August, 2020


Scrapy — Python

При парсинге одного сайта на битрикс через некоторое время происходит возврат «400» ошибки от сервера. Кто-нибудь занимался им и может подсказать как более хитро маскироваться под пользователя?
Интервал между запросами поставил в 2 секунды, а результат всегда один и тот же — 200 элементов и 400 ошибка

Python   Scrapy    

864   4   22:54, 2nd October, 2020


Как лаконично получить строку из списка int'ов

Есть список int'ов, нужно получить строку вида «1,3,5,12», но так чтобы код был лаконичен (в одну строку).
a = [1, 3, 5, 12]
str_ =…

Python    

366   6   01:57, 1st October, 2020


Книги по PyQt

Здравствуйте, Хабровчане!
Не подскажите ли Вы мне, существуют ли в продаже (допустим, в Москве) книги по PyQt?
Если же такового нет, то может быть есть достойные альтернативы Rapid GUI Programming with Python and Qt?

Python   Книги   PyQt    

303   2   02:23, 2nd October, 2020


Многопользовательский сервер python

Доброе время суток, в ВУЗе дали задание сделать отказоустойчивую систему. Я предпочел написать ее на питоне.

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

Т.е. примерно так:
  
      Альтернативный     <---------->                              Основной
             сервер                                                сервер   
                                                            /         |          \
                                                      Клиент          Клиент       Клиент


Что-то читал про twisted, что-то про select, но в конце концов так и не понял как и что.
Вот мой быдлокод сервера:
# -*- coding: cp1251 -*-
import socket, string, threading, sys

def sync(sock):
  sock.send('sync ok!')
  
def alt(num):
  print """
  ====================
    AltServer thread ok
  ====================
  """
      
def listen(port, first = False, num = 0):
  srv = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
  srv.bind(("localhost", port))

  while 1:
      print "Listen...", port
      print "Thread: ", threading.currentThread(), " Num: ", num, "\n" 
      srv.listen(1)             
      global sock
      sock, addr = srv.accept()
      while 1:
        rec = sock.recv(1)
        if not rec: 
          break
        else:
          if (first):
            while 1:
              num = sock.recv(16)
              if not num: 
                break
              else:
                print "Number rcvd success! (", num ,")" 
                sock.send("ok")
                proc2 = threading.Thread(target=listen, name="cli2", args=[30001, False, num])
                proc3 = threading.Thread(target=listen, name="cli3", args=[30002, False, num])
                proc4 = threading.Thread(target=alt, name="altserver", args=[num])
                proc2.start()
                proc3.start()
                proc4.start()
              
          else:
            sock.send(num)
            status = sock.recv(16)
            while 1:
              if not status: 
                break
              else:
                if (status == "ok"):
                  sync(sock)
                else:
                  sync(sock)
                  print "error, pack:", status
                  break
        print "From %s:%s:" % addr, rec
        
      sock.close()
  
def main():
  proc1 = threading.Thread(target=listen, name="cli1", args=[30000, True])
  proc1.start()

main()
sys.exit(0)


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

Python    

308   2   21:06, 1st October, 2020


Вопросы на собеседовании программисту Python

Какие вопросы задавать программисту Python, что бы оценить его знания?

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

366   7   22:56, 1st October, 2020


Библиотека Python для работы с PDF

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

Python    

319   2   15:10, 2nd October, 2020


как запустить pyquery с python 3.1?

скачал pyquery, пробую установить:
python3 setup.py install
получаю:
ImportError: No module named setuptools

а сам setuptools — pypi.python.org/pypi/setuptools#files — вроде есть только для 2.7

может я что-то делаю не так?

Python    

302   1   21:06, 1st October, 2020


Как облегчить жизнь конечным пользователям python-программ?

Здравствуйте, Хабровчане!
Представим такую ситуацию: Мы имеем программу написанную на python с использованием кучи библиотек (к примеру трёх) и хочется дать эту программку другу попользоваться. А у друга на компьютере, допустим, ни Python'а, ни библиотек и в помине нет. Можно ли как-нибудь скомпоновать всё это дело так, что бы облегчить ему установку всех компонентов и запуска программы?

Python    

357   3   19:16, 2nd October, 2020


Какой Python-фреймворк вы используете под Google App Engine?

Поделитесь, пожалуйста, опытом в использовании Python-фреймворков под Google App Engine. Больше склонен к микро-фреймворкам, но выслушаю все мнения, все «за» и «против».
Так же было бы интересно узнать выбор шаблонизатора, с которым вы используете фреймворк.

Предлагаю давать ответы в формате:
1) Фреймворк
2) Шаблонизатор
3) Все «за» (что нравится, чем лучше остальных?)
4) Все «против» (что не нравится, чем хуже остальных?)

Python   G   Suite   Фреймворки    

381   2   17:26, 2nd October, 2020


Subprocess не хочет ждать wget?

Пишу скрипт на python, для загрузки приличного списка файлов. Скрипт хитрый, поэтому просто список файлов скормить wget'у не получается.

Запускаю через:
p = subprocess.Popen(cmd.split(),shell=True)
p.wait()


это соответственно происходит в цикле, но не хочет wait ждать пока wget скачает файл, соответственно появляется много параллельных загрузок. Как быть?

Python   Wget    

409   1   16:57, 1st October, 2020


Получение почты скриптом с сохранением вложений

Существуют ли готовые решения для Perl (либо Python, Ruby) для чтения почты с возможностью извлечения и сохранением вложений?

Perl   Ruby   Python   Электронная   почта    

332   1   14:32, 20th September, 2020


Решение Без двух нулей подряд

Требуется посчитать количество последовательностей длины nn, состоящих из цифр от 00 до k−1k−1 таких, что никакие два соседних элемента последовательности не равны нулю одновременно.

Входные данные

Заданы два натуральных числа NN и KK (2≤K≤102≤K≤10; 2≤N2≤N; 4≤N+K≤184≤N+K≤18).

Выходные данные

Необходимо вывести целое число — ответ на задачу.

Примеры

Ввод 2 2

Вывод 3

Ввод 3 9 

Вывод 712

C++ Python  

1352   0   00:51, 26th June, 2021


Импортирование xls файлов в базу данных psql на python

Добрый день! Как можно через python импортировать эксель таблицу в PostgreSQL? Изначально нам дан url по которому находится эксель таблица, и нужно чтобы это таблица была в бд postgreSQL, т.е. по url коду данные импортируются в базу данных PostgreSQL, как это можно сделать?

Python   PostgreSQL   база данных  

512   0   00:43, 27th June, 2021


Программа для вычисления периметра треугольника по трём сторонам на Python

Программа для вычисления периметра треугольника по трём сторонам на Python. Написать исключение для генерации сообщения о невозможности выполнения такой операции (сумма двух любых сторон должна быть больше 3-й). 

p.s - 1)контролируя состояние потоков ввода/вывода, 2)при возникновении ошибок, связанных с корректностью выполнения математических операций, генерировать и обрабатывать исключительные ситуации, 3) использовать raise.

Если знаете, как это должно выглядеть, подскажите пожалуйста.



TreeView печать в PDF

Почему список созданный руками data, преобразуется в PDF, а список созданный при помощи append нет?

data = [[4, '', 5, 6, 7], [8, 9, '', 10, 11]]    # Преобразуется в PDF

t = []   # Выдает ошибку, см. ниже

def pdf(spacing=1):
for line in tree.get_children():
    for value in tree.item(line)['values']:
        t.append(value)
print(f't={t}')
# Разделяет список таблицы на списки по строкам
chunk_size = 5  # кол-во элементов в одной строке
new_list = [t[x:x + chunk_size] for x in range(0, len(t), chunk_size)]
print(f'new_list={new_list}')

pdf = FPDF()
pdf.set_font("Arial", size=12)
pdf.add_page()

col_width = pdf.w / 4.5
row_height = pdf.font_size
for row in new_list:
    for item in row:
        print(f'item={item}')
        pdf.cell(col_width, row_height * spacing,
                 txt=str(item), border=1)
    pdf.ln(row_height * spacing)

file_name = en1.get()
print(f'file_name={file_name}')
pdf.output(f'{file_name}.pdf')  # Наименование файла

Ошибка:

t=['Скамейка 1', '', '', '', '', 'Труба  d20х2000', '2.0', 'шт', '3.0', '6.0', 'Уголок 40х40х3х2000', '4.0', 'шт', '5.0', '20.0']
total=26.0
Exception in Tkinter callback
Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/tkinter/__init__.py", line 1892, in __call__
    return self.func(*args)
  File "/Users/ulia/Documents/Курс Python/Мои программы/Скамейка/1 таблица 3 без базы.py", line 151, in pdf
    pdf.output(f'{file_name}.pdf')  # Наименование файла
  File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/fpdf/fpdf.py", line 1065, in output
    self.close()
  File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/fpdf/fpdf.py", line 246, in close
    self._enddoc()
  File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/fpdf/fpdf.py", line 1636, in _enddoc
    self._putpages()
  File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/fpdf/fpdf.py", line 1170, in _putpages
    p = self.pages[n].encode("latin1") if PY3K else self.pages[n]
UnicodeEncodeError: 'latin-1' codec can't encode characters in position 82-89: ordinal not in range(256)
new_list=[['Скамейка 1', '', '', '', ''], ['Труба  d20х2000', '2.0', 'шт', '3.0', '6.0'], ['Уголок 40х40х3х2000', '4.0', 'шт', '5.0', '20.0']]
item=Скамейка 1
item=
item=
item=
item=
item=Труба  d20х2000
item=2.0
item=шт
item=3.0
item=6.0
item=Уголок 40х40х3х2000
item=4.0
item=шт
item=5.0
item=20.0
file_name=Скамейка 1

Process finished with exit code 0

python  

609   0   14:06, 7th December, 2021


Почему не запускается программа? Python + TKINTER

import os
from tkinter import *
import subprocess
from tkinter import ttk

path = "C:/Program Files/Organaizer"

m1 = "C:/Program Files/Organaizer/Monday/Registration"
m2 = "C:/Program Files/Organaizer/Monday/Literature"
m3 = "C:/Program Files/Organaizer/Monday/ITGS"
m4 = "C:/Program Files/Organaizer/Monday/Maths"
t1 = "C:/Program Files/Organaizer/Tuesday/Registration"
t2 = "C:/Program Files/Organaizer/Tuesday/English"
t3 = "C:/Program Files/Organaizer/Tuesday/Literature"
t4 = "C:/Program Files/Organaizer/Tuesday/CS"
t5 = "C:/Program Files/Organaizer/Tuesday/PE"
w1 = "C:/Program Files/Organaizer/Wednesday/Registration"
w2 = "C:/Program Files/Organaizer/Wednesday/CS"
w3 = "C:/Program Files/Organaizer/Wednesday/Psychology"
w4 = "C:/Program Files/Organaizer/Wednesday/English"
h1 = "C:/Program Files/Organaizer/Thursday/Registration"
h2 = "C:/Program Files/Organaizer/Thursday/English"
h3 = "C:/Program Files/Organaizer/Thursday/Maths"
h4 = "C:/Program Files/Organaizer/Thursday/Literature"
h5 = "C:/Program Files/Organaizer/Thursday/ITGS"
f1 = "C:/Program Files/Organaizer/Friday/Registration"
f2 = "C:/Program Files/Organaizer/Friday/CS"
f3 = "C:/Program Files/Organaizer/Friday/Psychology"
f4 = "C:/Program Files/Organaizer/Friday/Grorootg Minds"


try:
    os.makedirs(path)
except OSError:
    print ("The %s directory could not be created" % path)
else:
    print ("The %s directory was successfully created" % path)


try:
    os.makedirs(m1)
except OSError:
    print ("The %s directory could not be created" % m1)
else:
    print ("The %s directory was successfully created" % m1)

try:
    os.makedirs(m2)
except OSError:
    print ("The %s directory could not be created" % m2)
else:
    print ("The %s directory was successfully created" % m2)

try:
    os.makedirs(m3)
except OSError:
    print ("The %s directory could not be created" % m3)
else:
    print ("The %s directory was successfully created" % m3)

try:
    os.makedirs(m4)
except OSError:
    print ("The %s directory could not be created" % m4)
else:
    print ("The %s directory was successfully created" % m4)

try:
    os.makedirs(t1)
except OSError:
    print ("The %s directory could not be created" % t1)
else:
    print ("The %s directory was successfully created" % t1)

try:
    os.makedirs(t2)
except OSError:
    print ("The %s directory could not be created" % t2)
else:
    print ("The %s directory was successfully created" % t2)

try:
    os.makedirs(t3)
except OSError:
    print ("The %s directory could not be created" % t3)
else:
    print ("The %s directory was successfully created" % t3)

try:
    os.makedirs(t4)
except OSError:
    print ("The %s directory could not be created" % t4)
else:
    print ("The %s directory was successfully created" % t4)

try:
    os.makedirs(t5)
except OSError:
    print ("The %s directory could not be created" % t5)
else:
    print ("The %s directory was successfully created" % t5)

try:
    os.makedirs(w1)
except OSError:
    print ("The %s directory could not be created" % w1)
else:
    print ("The %s directory was successfully created" % w1)

try:
    os.makedirs(w2)
except OSError:
    print ("The %s directory could not be created" % w2)
else:
    print ("The %s directory was successfully created" % w2)

try:
    os.makedirs(w3)
except OSError:
    print ("The %s directory could not be created" % w3)
else:
    print ("The %s directory was successfully created" % w3)

try:
    os.makedirs(w4)
except OSError:
    print ("The %s directory could not be created" % w4)
else:
    print ("The %s directory was successfully created" % w4)

try:
    os.makedirs(h1)
except OSError:
    print ("The %s directory could not be created" % h1)
else:
    print ("The %s directory was successfully created" % h1)

try:
    os.makedirs(h2)
except OSError:
    print ("The %s directory could not be created" % h2)
else:
    print ("The %s directory was successfully created" % h2)

try:
    os.makedirs(h3)
except OSError:
    print ("The %s directory could not be created" % h3)
else:
    print ("The %s directory was successfully created" % h3)

try:
    os.makedirs(h4)
except OSError:
    print ("The %s directory could not be created" % h4)
else:
    print ("The %s directory was successfully created" % h4)

try:
    os.makedirs(h5)
except OSError:
    print ("The %s directory could not be created" % h5)
else:
    print ("The %s directory was successfully created" % h5)

try:
    os.makedirs(f1)
except OSError:
    print ("The %s directory could not be created" % f1)
else:
    print ("The %s directory was successfully created" % f1)

try:
    os.makedirs(f2)
except OSError:
    print ("The %s directory could not be created" % f2)
else:
    print ("The %s directory was successfully created" % f2)

try:
    os.makedirs(f3)
except OSError:
    print ("The %s directory could not be created" % f3)
else:
    print ("The %s directory was successfully created" % f3)

try:
    os.makedirs(f4)
except OSError:
    print ("The %s directory could not be created" % f4)
else:
    print ("The %s directory was successfully created" % f4)

root = Tk()
root.title("Login")
root.resizable(0, 0)
root.configure(bg='black')
root.geometry("910x740")

attempts=0
correctpassword="1234"

entrypass = Entry(root, width=25, textvariable=password, show="*")
entrypass.pack()

def start():
    while attempts<3:
        if entrypass==correctpassword:
            print('Correct.')

            altroot = Toplevel(root)
            altroot.title("Organaizer")
            altroot.resizable(0, 0)
            altroot.configure(bg='black')
            altroot.geometry('910x740')

            def monviewcom():
                subprocess.Popen(r'explorer /select,"C:\Program Files\Organaizer\Monday\Registration"')

            def tuviewcom():
                subprocess.Popen(r'explorer /select,"C:\Program Files\Organaizer\Tuesday\Registration"')

            def wedviewcom():
                subprocess.Popen(r'explorer /select,"C:\Program Files\Organaizer\Wednesday\Registration"')

            def huviewcom():
                subprocess.Popen(r'explorer /select,"C:\Program Files\Organaizer\Thursday\Registration"')

            def frviewcom():
                subprocess.Popen(r'explorer /select,"C:\Program Files\Organaizer\Friday\Registration"')


            def mondays():
                monles = Toplevel(root)
                monles.title("MONDAY")
                monles.resizable(0, 0)
                monles.configure(bg='black')
                monles.geometry('910x740')


                monlesson = Frame(monles, width=750, height=600, bg='black')
                monlesson.grid(row=0, column=0, padx=1, pady=1)


                monregistration = Label(monlesson, text="Registration || 8:20 - 8:40", fg='white', bg='black', font=200, width=85, height=6)
                monregistration.grid(row=0, column=0, sticky=S, padx=1, pady=1)

                monliterature = Label(monlesson, text="Russian Literature || 10:20 - 11:40", fg='white', bg='black', font=200, width=85, height=6)
                monliterature.grid(row=1, column=0, sticky=S, padx=1, pady=1)

                monitgs = Label(monlesson, text="ITGS || 11:40 - 12:20 / 13:20 - 14:00", fg='white', bg='black', font=200, width=85, height=6)
                monitgs.grid(row=2, column=0, sticky=S, padx=1, pady=1)

                monmaths = Label(monlesson, text="Maths || 14:00 - 15:20", fg='white', bg='black', font=200, width=85, height=6)
                monmaths.grid(row=3, column=0, sticky=S, padx=1, pady=1)

                monview = Button(monlesson, text="View", fg='black', bg='white', font=300, width=85, height=6, command=monviewcom)
                monview.grid(row=4, column=0, sticky=S, padx=1, pady=1)

            def tuesdays():
                tules = Toplevel(root)
                tules.title("TUESDAY")
                tules.resizable(0, 0)
                tules.configure(bg='black')
                tules.geometry('910x740')


                tulesson = Frame(tules, width=750, height=600, bg='black')
                tulesson.grid(row=0, column=0, padx=1, pady=1)


                turegistration = Label(tulesson, text="Registration || 8:20 - 8:40", fg='white', bg='black', font=200, width=85, height=5)
                turegistration.grid(row=0, column=0, sticky=S, padx=1, pady=1)

                tuenglish = Label(tulesson, text="English || 8:40 - 10:00", fg='white', bg='black', font=200, width=85, height=5)
                tuenglish.grid(row=1, column=0, sticky=S, padx=1, pady=1)

                tuliterature = Label(tulesson, text="Literature || 10:20 - 11:40", fg='white', bg='black', font=200, width=85, height=5)
                tuliterature.grid(row=2, column=0, sticky=S, padx=1, pady=1)

                tucs = Label(tulesson, text="CS || 11:40 - 12:20 / 13:20 - 14:00", fg='white', bg='black', font=200, width=85, height=5)
                tucs.grid(row=3, column=0, sticky=S, padx=1, pady=1)

                tupe = Label(tulesson, text="PE || 14:00 - 15:20", fg='white', bg='black', font=200, width=85, height=5)
                tupe.grid(row=4, column=0, sticky=S, padx=1, pady=1)

                tuview = Button(tulesson, text="View", fg='black', bg='white', font=300, width=85, height=5, command=tuviewcom)
                tuview.grid(row=5, column=0, sticky=S, padx=1, pady=1)

            def wednesdays():
                wedles = Toplevel(root)
                wedles.title("WEDNESDAY")
                wedles.resizable(0, 0)
                wedles.configure(bg='black')
                wedles.geometry('910x740')


                wedlesson = Frame(wedles, width=750, height=600, bg='black')
                wedlesson.grid(row=0, column=0, padx=1, pady=1)


                wedregistration = Label(wedlesson, text="Registration || 8:20 - 8:40", fg='white', bg='black', font=200, width=85, height=6)
                wedregistration.grid(row=0, column=0, sticky=S, padx=1, pady=1)

                wedliterature = Label(wedlesson, text="CS || 8:40 - 10:00", fg='white', bg='black', font=200, width=85, height=6)
                wedliterature.grid(row=1, column=0, sticky=S, padx=1, pady=1)

                weditgs = Label(wedlesson, text="Psychology || 11:40 - 12:20 / 13:20 - 14:00", fg='white', bg='black', font=200, width=85, height=6)
                weditgs.grid(row=2, column=0, sticky=S, padx=1, pady=1)

                wedmaths = Label(wedlesson, text="English || 14:00 - 15:20", fg='white', bg='black', font=200, width=85, height=6)
                wedmaths.grid(row=3, column=0, sticky=S, padx=1, pady=1)

                wedview = Button(wedlesson, text="View", fg='black', bg='white', font=300, width=85, height=6, command=wedviewcom)
                wedview.grid(row=4, column=0, sticky=S, padx=1, pady=1)

            def thursdays():
                hules = Toplevel(root)
                hules.title("THURSDAY")
                hules.resizable(0, 0)
                hules.configure(bg='black')
                hules.geometry('910x740')


                hulesson = Frame(hules, width=750, height=600, bg='black')
                hulesson.grid(row=0, column=0, padx=1, pady=1)


                huregistration = Label(hulesson, text="Registration || 8:20 - 8:40", fg='white', bg='black', font=200, width=85, height=5)
                huregistration.grid(row=0, column=0, sticky=S, padx=1, pady=1)

                huenglish = Label(hulesson, text="English || 8:40 - 10:00", fg='white', bg='black', font=200, width=85, height=5)
                huenglish.grid(row=1, column=0, sticky=S, padx=1, pady=1)

                humaths = Label(hulesson, text="Maths || 10:20 - 11:40", fg='white', bg='black', font=200, width=85, height=5)
                humaths.grid(row=2, column=0, sticky=S, padx=1, pady=1)

                huliterature = Label(hulesson, text="Literature || 11:40 - 12:20 / 13:20 - 14:00", fg='white', bg='black', font=200, width=85, height=5)
                huliterature.grid(row=3, column=0, sticky=S, padx=1, pady=1)

                huitgs = Label(hulesson, text="ITGS || 14:00 - 15:20", fg='white', bg='black', font=200, width=85, height=5)
                huitgs.grid(row=4, column=0, sticky=S, padx=1, pady=1)

                huview = Button(hulesson, text="View", fg='black', bg='white', font=300, width=85, height=5, command=huviewcom)
                huview.grid(row=5, column=0, sticky=S, padx=1, pady=1)

            def fridays():
                frles = Toplevel(root)
                frles.title("FRIDAY")
                frles.resizable(0, 0)
                frles.configure(bg='black')
                frles.geometry('910x740')


                frlesson = Frame(frles, width=750, height=600, bg='black')
                frlesson.grid(row=0, column=0, padx=1, pady=1)


                frregistration = Label(frlesson, text="Registration || 8:20 - 8:40", fg='white', bg='black', font=200, width=85, height=6)
                frregistration.grid(row=0, column=0, sticky=S, padx=1, pady=1)

                frcs = Label(frlesson, text="CS|| 8:40 - 10:00", fg='white', bg='black', font=200, width=85, height=6)
                frcs.grid(row=1, column=0, sticky=S, padx=1, pady=1)

                frpsychology = Label(frlesson, text="Psychology || 10:20 - 11:40", fg='white', bg='black', font=200, width=85, height=6)
                frpsychology.grid(row=2, column=0, sticky=S, padx=1, pady=1)

                frgm = Label(frlesson, text="GM || 14:00 - 15:20", fg='white', bg='black', font=200, width=85, height=6)
                frgm.grid(row=3, column=0, sticky=S, padx=1, pady=1)

                frview = Button(frlesson, text="View", fg='black', bg='white', font=300, width=85, height=6, command=frviewcom)
                frview.grid(row=4, column=0, sticky=S, padx=1, pady=1)

            lu = Frame(altroot, width=250, height=200, bg='white')
            lu.grid(row=0, column=0, padx=1, pady=1, sticky=N)

            tp = Frame(altroot, width=250, height=200, bg='white')
            tp.grid(row=0, column=1, padx=1, pady=1, sticky=N)

            ru = Frame(altroot, width=250, height=200, bg='white')
            ru.grid(row=0, column=2, padx=1, pady=1, sticky=N)

            lt = Frame(altroot, width=250, height=200, bg='white')
            lt.grid(row=1, column=0, padx=1, pady=1, sticky=N)

            md = Frame(altroot, width=250, height=200, bg='white')
            md.grid(row=1, column=1, padx=1, pady=1, sticky=N)

            rt = Frame(altroot, width=250, height=200, bg='white')
            rt.grid(row=1, column=2, padx=1, pady=1, sticky=N)

            bt = Frame(altroot, width=250, height=200, bg='white')
            bt.grid(row=2, column=1, padx=1, pady=1, sticky=N)


            mday = Button(lu, text="MONDAY", fg='black', bg='white', font=150, width=27, height=10, command=mondays)
            mday.pack()

            tday = Button(tp, text="TUESDAY", fg='black', bg='white', font=150, width=27, height=10, command=tuesdays)
            tday.pack()

            wday = Button(ru, text="WEDNESDAY", fg='black', bg='white', font=150, width=27, height=10, command=wednesdays)
            wday.pack()

            thday = Button(lt, text="THURSDAY", fg='black', bg='white', font=150, width=27, height=10, command=thursdays)
            thday.pack()

            fday = Button(md, text="FRIDAY", fg='black', bg='white', font=150, width=27, height=10, command=fridays)
            fday.pack()

            saday = Label(rt, text="SATURDAY", fg='black', bg='white', font=150, width=27, height=10)
            saday.pack()

            sday = Label(bt, text="SUNDAY", fg='black', bg='white', font=150, width=27, height=10)
            sday.pack()


            altroot.mainloop()

        else:
            attempts+=1
            print('incorrect!')
            if attempts==3:
                print('too many attempts')

ttt = Button(root, text="Enter", command=start).pack()

root.mainloop()

python   tkinter   gui   help   error  

868   0   09:36, 7th January, 2022


middleware которое будет возвращать ошибку если за последние n секунд было больше k запросов c одного ip адреса

Здравствуйте! Начал изучать Django, здесь встала задачка как реализовать миддлвер, что бы возвращал исключение если за последние n секунд было больше k запросов c одного ip адреса.

На сколько смог додуматься, код ниже:

class FilterIPMiddlewareCountTime:

    def __init__(self, get_request):
        self.get_request = get_request
        self._count_request = 3
        self._total = 0
        self._time_request = time.time()

    def __call__(self, response):

        answer_ips = ['127.0.0.1']
        ip = response.META.get("REMOTE_ADDR")

        if ip not in answer_ips:
            raise PermissionDenied()

        t1 = time.time()
        request = self.get_request(response)
        t2 = time.time()
        self._total += t2 - t1
        print('{: ^15}  {}'.format('TOTAL: ', self._total))
        print('{: ^15}  {}'.format('COUNT:', self._count_request))
        
        if self._count_request > self._total:
            self._total = 0
            raise PermissionDenied()
        return request

django   python  

2863   0   14:11, 16th March, 2022


Python с нуля: полное руководство для начинающих

Оглавление

1. [Введение в Python] 2. [Установка Python] 3. [Первая программа на Python] 4. [Основы синтаксиса Python] 5. [Типы данных в Python] 6. [Переменные и операторы] 7. [Условные конструкции] 8. [Циклы в Python] 9. [Функции] 10. [Работа со списками и словарями] 11. [Работа с файлами] 12. [Обработка исключений] 13. [Модули и библиотеки] 14. [Объектно-ориентированное программирование в Python] 15. [Практические проекты для начинающих] 16. [Ресурсы для дальнейшего изучения] 17. [Заключение]

Введение в Python

Python – это мощный, гибкий и легкий для изучения язык программирования, который стал одним из самых популярных в мире. Созданный Гвидо ван Россумом и впервые выпущенный в 1991 году, Python продолжает расти и развиваться, оставаясь при этом верным своей философии простоты и читаемости кода.

Почему стоит изучать Python?

1. Простота и читаемость: Синтаксис Python интуитивно понятен и близок к естественному языку, что делает его идеальным для начинающих. 2. Универсальность: Python применяется в веб-разработке, анализе данных, искусственном интеллекте, научных вычислениях и многих других областях. 3. Большое сообщество: Огромное количество разработчиков по всему миру создают библиотеки и инструменты, расширяющие возможности языка. 4. Высокий спрос на рынке труда: Специалисты по Python высоко ценятся работодателями во многих отраслях. В этом руководстве мы пройдем путь от установки Python до создания ваших первых программ и понимания ключевых концепций языка.

Установка Python

Прежде чем начать программировать на Python, необходимо установить его на ваш компьютер. Python доступен для всех основных операционных систем: Windows, macOS и Linux.

Для Windows:

1. Посетите официальный сайт Python (python.org). 2. Скачайте последнюю версию Python для Windows. 3. Запустите установщик и следуйте инструкциям. Убедитесь, что отмечен пункт "Add Python to PATH". 4. После установки откройте командную строку и введите `python --version`, чтобы проверить успешность установки.

Для macOS:

1. На современных версиях macOS Python может быть уже установлен. Проверьте это, открыв Terminal и введя `python --version`. 2. Если Python не установлен или вы хотите обновить его, скачайте последнюю версию с официального сайта. 3. Запустите установщик и следуйте инструкциям.

Для Linux:

На большинстве дистрибутивов Linux Python уже предустановлен. Если нет, вы можете установить его через менеджер пакетов: - Для Ubuntu или Debian: `sudo apt-get install python3` - Для Fedora: `sudo dnf install python3` После установки вы готовы начать свое путешествие в мир Python!

Первая программа на Python

Традиционно, первой программой на любом языке программирования является "Hello, World!". Давайте создадим эту программу на Python. 1. Откройте любой текстовый редактор (например, Notepad++ для Windows или TextEdit для macOS). 2. Введите следующий код:
python
print("Hello, World!")
3. Сохраните файл с расширением `.py`, например, `hello_world.py`. 4. Откройте командную строку или терминал, перейдите в директорию с вашим файлом и выполните команду:
python hello_world.py
Вы должны увидеть вывод: `Hello, World!` Поздравляем! Вы только что написали и запустили свою первую программу на Python.

Основы синтаксиса Python

Python известен своим чистым и читаемым синтаксисом. Вот несколько ключевых особенностей: 1. Отступы: Python использует отступы для определения блоков кода. Обычно используется 4 пробела. 2. Комментарии: Однострочные комментарии начинаются с `#`, многострочные заключаются в `'''` или `"""`. 3. Переменные: В Python не нужно объявлять тип переменной.
python
x = 5  # это целое число
y = "Hello"  # это строка
4. Операторы присваивания: Используйте `=` для присваивания значений. 5. Операторы сравнения:
`==`, `!=`, `<`, `>`, `<=`, `>=`
6. Логические операторы: `and`, `or`, `not` Понимание этих основ поможет вам начать писать простые программы и подготовит к изучению более сложных концепций.

Типы данных в Python

Python имеет несколько встроенных типов данных. Вот основные из них: 1. Числа: - Целые числа (int): `x = 5` - Числа с плавающей точкой (float): `y = 3.14` - Комплексные числа: `z = 1 + 2j` 2. Строки (str):
python
name = "Python"
multiline = """Это
многострочная
строка"""
3. Списки (list):
python
fruits = ["яблоко", "банан", "апельсин"]
4. Кортежи (tuple):
python
coordinates = (10, 20)
5. Словари (dict):
python
person = {"name": "Иван", "age": 30}
6. Множества (set):
python
unique_numbers = {1, 2, 3, 4, 5}
7. Логический тип (bool):
python
is_python_fun = True
Понимание типов данных критически важно для эффективного программирования на Python.

Переменные и операторы

Переменные

В Python переменные создаются при первом присваивании:
python
x = 5
name = "Alice"
is_student = True
Python динамически типизирован, что означает, что вам не нужно явно указывать тип переменной.

Операторы

Python поддерживает различные типы операторов: 1. Арифметические операторы: `+`, `-`, `*`, `/`, `//` (целочисленное деление), `%` (остаток), `` (возведение в степень)
python
x = 10
y = 3
print(x + y)  # 13
print(x / y)  # 3.3333...
print(x // y)  # 3
print(x % y)  # 1
print(x  y)  # 1000
2. Операторы сравнения: `==`, `!=`, `<`, `>`, `<=`, `>=`
python
x = 5
y = 10
print(x == y)  # False
print(x < y)   # True
3. Логические операторы: `and`, `or`, `not`
python
x = 5
y = 10
z = 15
print(x < y and y < z)  # True
print(x > y or y > z)   # False
print(not x == y)       # True
4. Операторы присваивания: `=`, `+=`, `-=`, `*=`, `/=`, `%=`, `=`, `//=`
python
x = 5
x += 3  # эквивалентно x = x + 3
print(x)  # 8
Понимание этих операторов позволит вам выполнять различные операции с данными в ваших программах.

Условные конструкции

Условные конструкции позволяют программе принимать решения на основе определенных условий. В Python основной условной конструкцией является `if-elif-else`.

Оператор if

python
age = 18
if age >= 18:
    print("Вы совершеннолетний")

Оператор if-else

python
age = 16
if age >= 18:
    print("Вы совершеннолетний")
else:
    print("Вы несовершеннолетний")

Оператор if-elif-else

python
score = 75
if score >= 90:
    print("Отлично")
elif score >= 80:
    print("Хорошо")
elif score >= 70:
    print("Удовлетворительно")
else:
    print("Нужно улучшить результат")

Тернарный оператор

Python также поддерживает тернарный оператор для краткой записи простых условий:
python
age = 20
status = "совершеннолетний" if age >= 18 else "несовершеннолетний"
print(status)  # совершеннолетний
Условные конструкции - это мощный инструмент, позволяющий создавать более сложную логику в ваших программах.

Циклы в Python

Циклы позволяют выполнять код многократно. В Python есть два основных типа циклов: `for` и `while`.

Цикл for

Цикл `for` используется для итерации по последовательности (например, списку, кортежу, строке) или другому итерируемому объекту.
python
# Итерация по списку
fruits = ["яблоко", "банан", "апельсин"]
for fruit in fruits:
    print(fruit)

# Использование range()
for i in range(5):
    print(i)  # Выведет числа от 0 до 4

Цикл while

Цикл `while` выполняется, пока условие истинно.
python
count = 0
while count < 5:
    print(count)
    count += 1

Операторы break и continue

- `break` используется для выхода из цикла досрочно. - `continue` используется для перехода к следующей итерации цикла.
python
for i in range(10):
    if i == 3:
        continue  # Пропустить 3
    if i == 7:
        break  # Выйти из цикла при достижении 7
    print(i)

Цикл for с else

Python позволяет использовать `else` с циклом `for`. Блок `else` выполняется, если цикл завершился нормально (без `break`).
python
for i in range(5):
    print(i)
else:
    print("Цикл завершен нормально")
Циклы - это фундаментальная концепция в программировании, позволяющая эффективно обрабатывать данные и автоматизировать повторяющиеся задачи.

Функции

Функции в Python - это блоки кода, которые выполняют определенную задачу. Они позволяют структурировать код, делая его более читаемым и повторно используемым.

Определение функции

python
def greet(name):
    return f"Привет, {name}!"

# Вызов функции
message = greet("Алиса")
print(message)  # Выведет: Привет, Алиса!

Параметры функции

Функции могут принимать параметры, которые позволяют передавать в них данные.
python
def add(a, b):
    return a + b

result = add(5, 3)
print(result)  # Выведет: 8

Параметры по умолчанию

Вы можете задать значения параметров по умолчанию:
python
def greet(name, greeting="Привет"):
    return f"{greeting}, {name}!"

print(greet("Боб"))  # Выведет: Привет, Боб!
print(greet("Алиса", "Здравствуй"))  # Выведет: Здравствуй, Алиса!

Произвольное количество аргументов

Python позволяет функциям принимать произвольное количество аргументов:
python
def sum_all(*args):
    return sum(args)

print(sum_all(1, 2, 3, 4))  # Выведет: 10

Лямбда-функции

Лямбда-функции - это небольшие анонимные функции, которые могут иметь любое количество аргументов, но только одно выражение.
python
square = lambda x: x  2
print(square(5))  # Выведет: 25

# Использование лямбда-функции с встроенными функциями
numbers = [1, 2, 3, 4, 5]
squared_numbers = list(map(lambda x: x  2, numbers))
print(squared_numbers)  # Выведет: [1, 4, 9, 16, 25]

Области видимости и глобальные переменные

Python использует области видимости для определения доступности переменных.
python
x = 10  # Глобальная переменная

def function():
    global x  # Объявляем, что хотим использовать глобальную переменную
    x = 20    # Изменяем глобальную переменную
    print(x)

function()
print(x)  # Выведет: 20
Функции - это основа модульного программирования. Они позволяют разбивать сложные задачи на более мелкие, управляемые части, что делает код более организованным и легким для понимания.

Работа со списками и словарями

Списки и словари - это мощные структуры данных в Python, которые позволяют эффективно хранить и обрабатывать коллекции элементов.

Списки

Списки - это упорядоченные коллекции элементов, которые могут быть разных типов.
python
# Создание списка
fruits = ["яблоко", "банан", "апельсин"]

# Добавление элемента
fruits.append("груша")

# Доступ к элементам
print(fruits[0])  # Выведет: яблоко

# Срезы
print(fruits[1:3])  # Выведет: ['банан', 'апельсин']

# Перебор элементов
for fruit in fruits:
    print(fruit)

# Списковое включение
squares = [x2 for x in range(5)]
print(squares)  # Выведет: [0, 1, 4, 9, 16]

Словари

Словари - это неупорядоченные коллекции пар ключ-значение.
python
# Создание словаря
person = {"name": "Иван", "age": 30, "city": "Москва"}

# Доступ к значениям
print(person["name"])  # Выведет: Иван

# Добавление новой пары ключ-значение
person["job"] = "программист"

# Перебор словаря
for key, value in person.items():
    print(f"{key}: {value}")

# Проверка наличия ключа
if "age" in person:
    print("Возраст указан")

Работа с файлами

Работа с файлами - важная часть многих программ. Python предоставляет простые и эффективные способы чтения и записи файлов.

Чтение файла

python
# Чтение всего файла
with open("example.txt", "r") as file:
    content = file.read()
    print(content)

# Чтение файла построчно
with open("example.txt", "r") as file:
    for line in file:
        print(line.strip())

Запись в файл

python
# Запись в файл
with open("output.txt", "w") as file:
    file.write("Привет, мир!")

# Добавление в конец файла
with open("output.txt", "a") as file:
    file.write("\nЭто новая строка.")
Использование конструкции `with` гарантирует, что файл будет правильно закрыт после завершения работы с ним.

Обработка исключений

Обработка исключений позволяет вашей программе элегантно справляться с ошибками и непредвиденными ситуациями.
python
try:
    number = int(input("Введите число: "))
    result = 10 / number
    print(f"Результат: {result}")
except ValueError:
    print("Вы ввели не число.")
except ZeroDivisionError:
    print("Деление на ноль недопустимо.")
except Exception as e:
    print(f"Произошла ошибка: {e}")
else:
    print("Операция выполнена успешно.")
finally:
    print("Этот блок выполняется всегда.")

Модули и библиотеки

Модули позволяют организовывать код и повторно использовать функциональность. Python имеет богатую стандартную библиотеку и тысячи сторонних пакетов.

Импорт модулей

python
# Импорт всего модуля
import math
print(math.pi)

# Импорт конкретной функции
from random import randint
print(randint(1, 10))

# Импорт с псевдонимом
import datetime as dt
print(dt.datetime.now())

Создание собственных модулей

Вы можете создавать собственные модули, просто сохраняя функции в отдельных файлах .py.
python
# В файле mymodule.py
def greet(name):
    return f"Привет, {name}!"

# В основном файле
import mymodule
print(mymodule.greet("Алиса"))

Объектно-ориентированное программирование в Python

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

Определение класса

python
class Dog:
    def __init__(self, name):
        self.name = name

    def bark(self):
        return f"{self.name} говорит Гав!"

# Создание объекта
my_dog = Dog("Бобик")
print(my_dog.bark())  # Выведет: Бобик говорит Гав!

Наследование

python
class Animal:
    def __init__(self, name):
        self.name = name

    def speak(self):
        pass

class Cat(Animal):
    def speak(self):
        return f"{self.name} говорит Мяу!"

my_cat = Cat("Мурка")
print(my_cat.speak())  # Выведет: Мурка говорит Мяу!

Практические проекты для начинающих

Лучший способ изучить программирование - это практика. Вот несколько идей для проектов: 1. Консольный калькулятор 2. Игра "Угадай число" 3. Программа для ведения списка дел (To-Do List) 4. Простой веб-скрапер с использованием библиотеки requests 5. Анализатор текста (подсчет слов, букв и т.д.)

Ресурсы для дальнейшего изучения

1. Официальная документация Python (python.org) 2. Книга "Python Crash Course" by Eric Matthes 3. Онлайн-курсы на платформах Coursera, edX, Udemy 4. Сайт PyPI для изучения доступных пакетов 5. GitHub для изучения открытых проектов на Python

Заключение

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

python  

2599   0   13:58, 18th June, 2022


Помогите решить задачу на python с codeforces

Назовем два числа xx и yy похожими, если они имеют одинаковую четность (одинаковый остаток при делении на 22), или если |x−y|=1|x−y|=1. Например, в каждой из пар (2,6)(2,6), (4,3)(4,3), (11,7)(11,7) числа похожи между собой, а в парах (1,4)(1,4), (3,12)(3,12) — нет.

Вам дан массив aa из nn (число nn четно) целых положительных чисел. Проверьте, существует ли такое разбиение массива на пары, что каждый элемент массива принадлежит ровно одной паре, и в каждой паре числа похожи между собой.

Например для массива a=[11,14,16,12]a=[11,14,16,12] существует разбиение на пары (11,12)(11,12) и (14,16)(14,16). Числа в первой паре похожи, потому что модуль их разности равен единице, а во второй паре — потому что они оба четные.

Входные данные

В первой строке записано одно целое число tt (1≤t≤10001≤t≤1000) — количество наборов тестовых данных в тесте. Далее следуют tt наборов тестовых данных.

Каждый набор задается двумя строками. В первой строке записано четное целое число nn (2≤n≤502≤n≤50) — длина массива aa.

Во второй строке записано nn целых чисел a1,a2,…,ana1,a2,…,an (1≤ai≤1001≤ai≤100).

Выходные данные

Для каждого набора тестовых данных выведите:

  • YES, если разбиение существует;
  • NO, если разбиения не существует.

Буквы в словах YES и NO можно выводить в любом регистре.

Пример

входные данные

7
4
11 14 16 12
2
1 8
4
1 1 1 1
4
1 2 5 6
2
12 13
6
1 6 3 10 5 8
6
1 12 3 10 5 8

выходные данные

YES
NO
YES
YES
YES
YES
NO

python   codeforces   задача   программирование  

4492   0   11:11, 22nd October, 2022