86
голосов
5ответов
29608 просмотров

Сохранить регистр в ConfigParser?

Я попытался использовать модуль Python ConfigParser для сохранения настроек.Для моего приложения важно, чтобы я сохранял регистр каждого имени в моих разделах.В документах упоминается, что передача str () в ConfigParser.optionxform () сделал бы это, но у меня это не работает.Имена все в нижн...

8
голосов
4ответов
1943 просмотров

making python 2.6 exception backward compatible

I have the following python code: try: pr.update() except ConfigurationException as e: returnString=e.line+' '+e.errormsg This works under python 2.6, but the "as e" syntax fails under previous versions. How can I resolved this? Or in other words, how do I catch user-defined exce...

6
голосов
4ответов
3732 просмотров

Default encoding of exception messages

The following code examines the behaviour of the float() method when fed a non-ascii symbol: import sys try: float(u'\xbd') except ValueError as e: print sys.getdefaultencoding() # in my system, this is 'ascii' print e[0].decode('latin-1') # u'invalid literal for float(): ' followed by th...

9
голосов
4ответов
6266 просмотров

Python long filename support broken in Windows

I write Python script to copy files; unfortunately it keeps failing because filename is too long(>256). Is there anyway to deal with that problem? I'm using Python 2.5.4 and Windows XP. Cheers,

724
голосов
11ответов
665097 просмотров

How can I force division to be floating point? Division keeps rounding down to 0?

I have two integer values a and b, but I need their ratio in floating point. I know that a < b and I want to calculate a / b, so if I use integer division I'll always get 0 with a remainder of a. How can I force c to be a floating point number in Python in the following? c = a / b

43
голосов
3ответов
30564 просмотров

Python 2 CSV writer produces wrong line terminator on Windows

According to the its documentation csv.writer should use '\r\n' as lineterminator by default. import csv with open("test.csv", "w") as f: writer = csv.writer(f) rows = [(0,1,2,3,4), (-0,-1,-2,-3,-4), ("a","b","c","d","e"), ("A","B","C","D","E")] ...

13
голосов
5ответов
1059 просмотров

Почему ключи 008 и 009 недействительны для слов Python?

Почему у меня не может быть 008 или 009 в качестве ключей для словаря Python, а 001-007 подходят? Пример: some_dict = { 001: "spam", 002: "eggs", 003: "foo", 004: "bar", 008: "anything", # Throws a SyntaxError 009: "nothing" # Throws a SyntaxError } Обновлен...

29
голосов
3ответов
40817 просмотров

Как преобразовать escape-последовательности unicode в символы unicode в строке Python

Когда я пытался получить содержимое тега с помощью «unicode (head.contents [3])», я получил примерно такой результат: «Christensen Sk \ xf6ld». Я хочу, чтобы escape-последовательность возвращалась в виде строки. Как это сделать на Python?

280
голосов
21ответов
326420 просмотров

Как получить из JSON строковые объекты вместо Unicode?

Я использую Python 2 для анализа JSON из текстовых файлов в кодировке ASCII . При загрузке этих файлов с помощью json или simplejson , все мои строковые значения приводятся к объектам Unicode вместо строковых объектов. Проблема в том, что мне приходится использовать данные с некоторыми ...

0
голосов
1ответов
388 просмотров

Рендеринг изображения вместо его имени на странице Django

Я пытаюсь отобразить изображение вместо его имени на своей странице list_display. Я сохраняю изображение в поле banner моей модели. Я создал функцию, которая должна возвращать изображение, но вместо изображения вижу строку <img src= ....>. В баннере моей модели есть поле для изменени...

29
голосов
4ответов
20131 просмотров

Чтение символов Unicode из аргументов командной строки в Python 2.x в Windows

Я хочу, чтобы мой скрипт Python мог читать аргументы командной строки Unicode в Windows. Но похоже, что sys.argv - это строка, закодированная в некоторой локальной кодировке, а не в Unicode. Как я могу прочитать командную строку в полном Юникоде? Пример кода: argv.py import sys first_arg ...

32
голосов
12ответов
5354 просмотров

Как я могу оптимизировать этот код Python для генерации всех слов с расстоянием между словами 1?

Профилирование показывает, что это самый медленный сегмент моего кода для небольшой игры в слова, которую я написал: def distance(word1, word2): difference = 0 for i in range(len(word1)): if word1[i] != word2[i]: difference += 1 return difference def getchildr...

38
голосов
5ответов
31978 просмотров

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

У меня есть это: >>> print 'example' example >>> print 'exámple' exámple >>> print 'exámple'.upper() EXáMPLE Что мне нужно сделать для печати: EXÁMPLE (где буква "а" имеет свой аккуратный акцент, но в верхнем регистре.) Я использую Python 2.6.

517
голосов
8ответов
284057 просмотров

Как лучше всего убрать акценты (нормализовать) в строке Unicode Python?

У меня есть строка Unicode в Python, и я хотел бы удалить все акценты (диакритические знаки). Я нашел в Интернете элегантный способ сделать это (на Java): преобразовать строку Unicode в ее длинную нормализованную форму (с отдельным символом для букв и диакритических знаков) удалите вс...

342
голосов
10ответов
213883 просмотров

Установка правильной кодировки при выводе stdout в Python

При передаче по конвейеру вывода программы Python интерпретатор Python не понимает кодировки и устанавливает для нее значение None. Это означает такую ​​программу: # -*- coding: utf-8 -*- print u"åäö" будет работать нормально при нормальной работе, но не сработает: UnicodeEncodeErro...

109
голосов
4ответов
45788 просмотров

Python super () вызывает TypeError

В Python 2.5 следующий код вызывает TypeError: >>> class X: def a(self): print "a" >>> class Y(X): def a(self): super(Y,self).a() print "b" >>> c = Y() >>> c.a() Traceback (most recent call last): File "<stdin>"...

411
голосов
26ответов
631567 просмотров

Нет модуля с именем MySQLdb

Я использую Python версии 2.5.4 и устанавливаю MySQL версии 5.0 и Django. Django отлично работает с Python, но не с MySQL. Я использую его в Windows Vista.

180
голосов
6ответов
105090 просмотров

В чем разница между кодированием / декодированием?

Я никогда не был уверен, что понимаю разницу между декодированием и кодированием str / unicode. Я знаю, что str().decode() - это когда у вас есть строка байтов, которая, как вы знаете, имеет определенную кодировку символов, учитывая это имя кодировки, она вернет строку Unicode. Я знаю, что...

238
голосов
15ответов
285168 просмотров

Как запретить Python print добавлять новые строки или пробелы?

В Python, если я скажу print 'h' Я получаю букву h и новую строку. Если я скажу print 'h', Я получаю букву h без новой строки. Если я скажу print 'h', print 'm', Я получаю букву h, пробел и букву m. Как я могу запретить Python печатать пространство? Операторы печати - это...

12
голосов
2ответов
3797 просмотров

Очередь блокировки с прерыванием клавиатуры в Python

Кажется import Queue Queue.Queue().get(timeout=10) прерывается с клавиатуры (ctrl-c), тогда как import Queue Queue.Queue().get() нет. Я всегда мог создать петлю; import Queue q = Queue() while True: try: q.get(timeout=1000) except Queue.Empty: pass ...

8
голосов
6ответов
3329 просмотров

Учебник для Python - что мне делать: 2.x или 3.0?

Python 3.0 находится в стадии бета-тестирования, и вскоре выйдет финальный выпуск. Очевидно, что для всеобщего принятия и замены 2.x потребуется значительное время. Я пишу руководство по некоторым аспектам программирования на Python. Мне интересно, следует ли мне делать это в Python 2.x или 3...

49
голосов
5ответов
82008 просмотров

Как обработать сломанный канал (SIGPIPE) в Python?

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

24
голосов
6ответов
9847 просмотров

Производительность: Python 3.x против Python 2.x

Что касается производительности, как Python 3 сравнивается с Python 2.x?

6
голосов
9ответов
500 просмотров

API языка Python

Я начинаю с Python из java. Мне было интересно, существует ли что-то похожее на API JavaDoc, где я могу найти класс, его методы и пример того, как его использовать. Мне очень помогло использование help (thing) из Python (командная строка) Я также нашел это: http://docs.python.org/...

731
голосов
28ответов
384771 просмотров

В чем разница между функциями range и xrange в Python 2.X?

По-видимому, xrange быстрее, но я понятия не имею, почему он быстрее (и пока нет доказательств, кроме анекдотических, что он быстрее) или что, кроме этого, отличается for i in range(0, 20): for i in xrange(0, 20):

227
голосов
12ответов
289092 просмотров

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

Какие библиотеки поддерживают XPath? Есть полная реализация? Как используется библиотека? Где его веб-сайт?