输出开头的'u'(Sqlite,Python)

时间:2016-07-17 21:02:45

标签: python sqlite

我真的很困惑sqlite部分,我打印出我的数据库,因为我在每一行的开头都得到一个'u',但它没有'',但我认为不是接受为字符串?这只发生在这一个程序上(我也在其他程序上测试过)。

我多次检查了代码(当我用'SQLite数据库浏览器'打开它时,它没有出现在数据库中)

所以这就是代码:

#!/usr/bin/python

import sqlite3
import os

def list_n_convert(way):
    if way == 'mov':#movie search
        output = os.popen("find '/home/fugo/' -name '*.mp4' -printf '%f\n'").read()
    word = ''
    lyst = []
    for letter in output:
        if letter != '\n':
            word += str(letter)
        else:
            lyst.append(word)
            word = ''
    return lyst

#Loop to create entries
def entry_maker(lyst, column):
    for count in range(len(lyst)):
        cur.execute("INSERT OR IGNORE INTO myliltable ({}) VALUES (?)".format(column), (lyst[count],))
        con.commit()

if __name__ == '__main__':

    #necessities for start-up of sql-lite
    con = sqlite3.connect('movie.db')
    cur = con.cursor()

    #Create a table, if it's non-existent
    cur.execute('CREATE TABLE IF NOT EXISTS myliltable (name TEXT PRIMARY KEY, cover TEXT, genre TEXT)')

    entry_maker(list_n_convert('mov'), 'name')

    cur.execute('SELECT * FROM myliltable')
    for row in cur.fetchall():
        print(row) #print each row in a line <--- 'ERROR' happens here

    cur.close()
    con.close()

这是输出的样子:

(u'Umbra.mp4', None, None)
(u'xd.mp4', None, None)
(u'Nice.mp4', None, None)
(u'Haha.mp4', None, None)

我将解释该程序的功能,也许有助于找到错误:

第一个函数'list_n_convert'在我的主文件夹中搜索结尾为'.mp4'的任何文件,然后将搜索结果转换为字符串并将它们添加到列表中。

第二个为列表中的每个元素(每个mp4文件)输入数据库。最后,我调用函数,让每行打印出来;这是错误发生的地方。

1 个答案:

答案 0 :(得分:0)

u'基本上是'this is unicode'的语法。使用$('#preview-table').tableExport({type:'png',escape:'false'}); 获取字符串。

请参阅:Unicode Strings on the python docs