KennethReitzのEnvoyパッケージを介してこのコマンドを実行しようとしています。
$ sqlite3 foo.db 'select * from sqlite_master'
私はこれを試しました:
r = envoy.run("sqlite3 foo.db 'select * from sqlite_master'")
sqlite3: Error: too many options: "*"
この:
r = envoy.run(['sqlite3', 'foo.db', 'select * from sqlite_master'])
AttributeError: 'NoneType' object has no attribute 'returncode'
追加の引用符とエスケープは役に立たないようです。助言がありますか?
参考までに:これは私が今しなければならなかったことです:
cmd = "sqlite3 %(database)s 'select * from sqlite_master'" % locals()
os.system(cmd)
これは不自然な例であり、私が発行したいUNIXシェルコマンドのほとんどは、SQLAlchemyを介して簡単に実行できる単純な選択ではないことに注意してください。