我有一些代码,该代码使用递归将数据从一个Web报废表中提取到SQlite数据库中。当我运行代码时,它显示了如何正确地迭代数据,但是在迭代的中间,它突然中断说:
文件“ C:\ Users \ rub \ Desktop \ Phyton \ mtgdb_v2.py”,第173行,在 insert_tcg cursor.execute(sql,values)sqlite3.OperationalError: 尝试编写一个只读数据库。
输入数据以将行添加到数据库的模块,来自递归“ def”:
def insert_tcg(cardcode,nameEN,rarity,cardno,trendTCG,midTCG,lowTCG):
values=(cardcode,nameEN,rarity,cardno,trendTCG,midTCG,lowTCG)
print(values) #this one is for visually check the data that manages
with sqlite3.connect("MTGdb.db") as db:
cursor=db.cursor()
sql="insert into TCGdb (cardcode, nameEN, rarity, cardno, trendTCG,
midTCG, lowTCG) values (?,?,?,?,?,?,?)"
cursor.execute(sql,values)
db.commit()
我多次运行它,然后看数据库,我看到它正确地从预期的224行总数中正确输入了随机数的行(例如,有时26,有时128,另外210)期望所有行都将输入到数据库中。 数据库位于桌面文件夹(硬盘)中。看到数据库如何转变为读取数据库,这很奇怪。