2011-01-26 1 views
0
>>> c.execute('select * from zeol').fetchall() 
[(u'BBUL1', u'BCF-0106', u'', u'ENVIR', u'2011-01-25', u'18:02:10.92', 
    u'***', u'ALARM', u'', u'', u'33387', u'7401', u'EXTERNAL AL 1', 
    u'SYSTEM ON BATTERY', u''), (u'BBUL1', u'BCF-0106', u'', u'ENVIR', 
    u'2011-01-25', u'18:02:10.92', u'***', u'ALARM', u'', u'', u'33389', 
    u'7401', u'EXTERNAL AL 1', u'SYSTEM ON BATTERY', u''), (u'BBUL1', 
    u'BCF-0106', u'', u'ENVIR', u'2011-01-25', u'18:02:10.93', u'***', u'ALARM', 
    u'', u'', u'33389', u'7401', u'EXTERNAL AL 1', u'SYSTEM ON BATTERY', u'')] 

все «у» нет в базе данных sqlite.Что это за дополнительный символ python ставит перед каждым полем в sql-запросе?

+1

см. Справочное руководство по языку Python по адресу http://docs.python.org/reference/lexical_analysis.html#string-literals –

ответ

3

Потому что это означает, что это строка юникода python.

2

Это часть синтаксиса Python для строковых констант; это означает, что каждая строковая константа является последовательностью кодовых точек Unicode, а не 8-разрядными байтами. Он отображается в интерактивной среде, потому что для создания сложных структур данных используется repr. Он не будет отображаться, если вы используете print или write по отдельным строкам.

0

Префикс 'u' указывает, что строка является unicode. Дополнительные сведения о кодировании и декодировании строк с помощью python см. В codecs