Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 将sqlite与python一起使用,fetchall()_Python 3.x_Sqlite - Fatal编程技术网

Python 3.x 将sqlite与python一起使用,fetchall()

Python 3.x 将sqlite与python一起使用,fetchall(),python-3.x,sqlite,Python 3.x,Sqlite,我试图将链接列表与存储在sqlite数据库中的LIK进行比较 假设数据库中的链接为: link.com\page1 link.com\page2 link.com\page3 如果数据库中存在给定的链接,我已经为chick编写了以下代码,如果不存在,则添加它 links = ['link.com\page2', 'link.com\page4'] c.execute('SELECT link FROM ads') previouslinks = c.fetchall() for l in li

我试图将链接列表与存储在sqlite数据库中的LIK进行比较

假设数据库中的链接为:

link.com\page1

link.com\page2

link.com\page3

如果数据库中存在给定的链接,我已经为chick编写了以下代码,如果不存在,则添加它

links = ['link.com\page2', 'link.com\page4']
c.execute('SELECT link FROM ads')
previouslinks = c.fetchall()

for l in links:
    if l not in previouslinks:
        c.execute('''INSERT INTO ads(link) VALUES(?)''', (l))
        conn.commit()
    else:
        pass
问题是,即使链接在数据库中,脚本也无法识别它

当我尝试打印
previouslinks
变量时,结果如下所示:

[('link.com\page1',), ('link.com\page2',), ('link.com\page3',)]
我认为问题在于额外的括号和逗号,但我不能完全确定。

fetchall()
返回一个行列表,其中每一行都是一个包含所有列值的元组。包含字符串的元组与字符串不同

您必须从行中提取值(在光标上迭代时不需要
fetchall()
):

previouslinks = [row[0] for row in c]