[英]python not creating sql / updating file
好的,所以我已经搜索了 web 并尝试了几天但失败了。 我看到很多关于提交、目录等的答案......但没有一个工作
我运行 python 文件,据说我的训练营说它应该更新 sql 文件。 它没有创建文件,因为我的印象是它会,所以我继续手动创建并再次尝试一切。 我的 python 似乎对文件没有影响。
这是我正在使用的代码。
import sqlite3
conn = sqlite3.connect('emaildb.sqlite')
cur = conn.cursor()
cur.execute('DROP TABLE IF EXISTS Counts')
cur.execute('''
CREATE TABLE Counts (org TEXT, count INTEGER)''')
fh = open(r"c:\Users\hotsa\OneDrive\Desktop\code\SQ\mbox.txt")
for line in fh:
if not line.startswith('From: '): continue
pieces = line.split()
email = pieces[1]
dom = email.find('@')
org = email[dom + 1: len(email)]
cur.execute('SELECT count FROM Counts WHERE org = ? ', (org,))
row = cur.fetchone()
if row is None:
cur.execute('''INSERT INTO Counts (org, count)
VALUES (?, 1)''', (org,))
else:
cur.execute('UPDATE Counts SET count = count + 1 WHERE org = ?',
(org,))
conn.commit()
# https://www.sqlite.org/lang_select.html
sqlstr = 'SELECT org, count FROM Counts ORDER BY count DESC LIMIT 10'
for row in cur.execute(sqlstr):
print(str(row[0]), row[1])
cur.close()
目录图片目录图片
它似乎在 Visual Studio 代码终端中运行良好,但只是不更新 sql 文件。 我该怎么办?
谢谢大家,我很欣赏这些建议,卢克伍德沃德你是对的,将其更改为有效的直接文件路径,显然某处有一个无法识别的副本。 我将 conn = sqlite3.connect('emaildb.sqlite') 更改为 conn = sqlite3.connect(r"c:\Users\hotsa\OneDrive\Desktop\code\SQ\emaildb.sqlite")
我认为可能存在某种类型的安全问题,您的 SQL 服务器不允许通过外部代码对其进行更改
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.