Следующий код Python пытается создать базу данных SQLite и таблицу с использованием командной строки в Linux:
#!/usr/bin/python2.6
import subprocess
args = ["sqlite3", "db.sqlite", "'CREATE TABLE my_table(my_column TEXT)'"]
print(" ".join(args))
subprocess.call(args)
Когда я запустил код, он создал базу данных с нулевыми байтами и следующим выводом:
sqlite3 db.sqlite 'CREATE TABLE my_table(my_column TEXT)'
Error: near "'CREATE TABLE my_table(my_column TEXT)'": syntax error
Но когда я скопировал команду, напечатанную кодом (чуть выше сообщения об ошибке), и вставил команду в командную строку, команда создала базу данных с таблицей.
Что не так с кодом?