gpt4 book ai didi

python - 如何在 Envoy 中使用通配符

转载 作者:太空宇宙 更新时间:2023-11-04 01:36:41 25 4
gpt4 key购买 nike

我正在尝试通过 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 轻松完成的简单选择。

最佳答案

这在 envoy 中不起作用,因为 envoy 拆分命令并将它们传递给子进程。即使您尝试使用 subprocess.Popen(command, shell = False),您最终也会得到 sqlite3 终端。 subprocessenvoy 都没有解决这个问题,如果你能在 envoy 中提出问题我会很高兴,因为我正在为它做贡献,我会考虑这个。

关于python - 如何在 Envoy 中使用通配符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9106350/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com