這是我的代碼
import sqlite3
conn = sqlite3.connect("path to chrome history")
c = conn.cursor()
c.executemany("UPDATE urls SET url = REPLACE(url,.foo.,.foo-bar.) WHERE url LIKE %foo%;")
conn.close()
它拋出以下錯誤:
c.executemany("UPDATE urls SET url = REPLACE(url,.foo.,.foo-bar.) WHERE url LIKE %foo%;")
TypeError: executemany expected 2 arguments, got 1
如何在 Python 中使用 sqlite3 更改 Google Chrome 中的歷史記錄?
uj5u.com熱心網友回復:
午飯后我有時間看看這個,這就是我一瘸一拐的。使用風險自負(在運行之前備份“歷史”檔案)。
import sqlite3
conn = sqlite3.connect(r"path to chrome history")
c = conn.cursor()
for url in c.execute("SELECT * FROM urls WHERE url LIKE '%foo%'"):
# Execute returns a tuple. Need to convert to list to edit.
# Then convert back to tuple for use in f-string
url = list(url)
url[1] = url[1].replace("foo", "foo-bar") # String replace
url = tuple(url)
c.execute(f"REPLACE INTO urls VALUES {url}")
c.close()
conn.commit()
conn.close()
注意:必須關閉 Chrome 才能運行,否則檔案將被鎖定。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/511644.html
下一篇:如何參考當前范圍?
