2016-09-03 17:55:48
0
I'm writing following python script:
import sqlite3
import sys
if len(sys.argv) < 2:
print("Error: You must supply at least SQL script.")
print("Usage: %s table.db ./sql-dump.sql" % (sys.argv[0]))
sys.exit(1)
script_path = sys.argv[1]
if len(sys.argv) == 3:
db = sys.argv[2]
else:
db = ":memory:"
try:
con = sqlite3.connect(db)
with con:
cur = con.cursor()
with open(script_path,'rb') as f:
cur.executescript(f.read())
except sqlite3.Error as err:
print("Error occured: %s" % err)
I saved this program as sqlite_import.py.
I have a database file named test.db and a SQL file world.sql.
Now I tried to run program as:
sqlite_import.py test.db world.sql
But it shows me error like following:
Traceback (most recent call last):
File "C:\Users\Jarvis\OneDrive\Documents\Python\Python Data Visualization Cookbook, 2E\2 Knowing Your Data\sqlite_import.py", line 21, in
cur.executescript(f.read())
ValueError: script argument must be unicode.
Help me to fix this.