我正在尝试通过 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 shell 命令不仅仅是可以通过 SQLAlchemy 轻松完成的简单选择。