【发布时间】:2017-12-25 23:22:29
【问题描述】:
我一直在关注这个 YouTube 播放列表中的这个 5 部分教程:https://www.youtube.com/playlist?list=PLQVvvaa0QuDezJh0sC5CqXLKZTSKU1YNo
我将 Jupyter notebook 与 Python 结合使用,代码如下:
import sqlite3
import time
import datetime
import random
conn = sqlite3.connect("tutorial2.db")
c = conn.cursor()
然后我创建了几个函数。
def create_table():
c.execute('CREATE TABLE IF NOT EXISTS stuffToPlot (unix REAL, datestamp TEXT,
keyword TEXT, value REAL)')
def data_entry():
c.execute("INSERT INTO stuffToPlot VALUES (145123542, '2016-01-03',
'Python', 7)")
conn.commit()
c.close()
conn.close()
create_table()
data_entry()
第一次运行良好,并在 C:\Users\Michael 中生成一个 db 文件 但是,当我再次尝试仅运行 create_table() 函数时,出现以下错误:
ProgrammingError: Cannot operate on a closed cursor.
任何能够帮助解决此问题的人将不胜感激!
【问题讨论】:
-
您需要再次打开连接并创建光标才能使用它,或者将“关闭”移动到另一个方法
-
是的,因为您明确关闭了 data_entry 中的游标。为什么这让你感到惊讶?
标签: python database sqlite cursor jupyter-notebook