【发布时间】:2012-11-13 01:35:42
【问题描述】:
我有一个 python 脚本,我想用它在服务器上进行远程调用、连接到 Cassandra CLI 并执行命令来创建键空间。我所做的其中一项尝试就是达到这个效果:
connect="cassandra-cli -host localhost -port 1960;"
create_keyspace="CREATE KEYSPACE someguy;"
exit="exit;"
final = Popen("{}; {}; {}".format(connect, create_keyspace, exit), shell=True, stdin=PIPE, stdout=PIPE, stderr=STDOUT, close_fds=True)
stdout, nothing = final.communicate()
查看各种解决方案,我没有找到我需要的东西。例如,上面的代码抛出了“/bin/sh: 1: CREATE: not found”,我认为意味着它没有在 CLI 命令行上执行 CREATE 语句。
任何/所有帮助将不胜感激!谢谢!
【问题讨论】:
-
您将 CREATE 作为命令行命令执行。我猜你应该将 CREATE 命令输入标准中。
-
我知道您要求使用 CLI,但如果您愿意,也可以尝试使用此 CQL 模块:pypi.python.org/pypi/cql/1.4.0。此处提供了简单的代码示例:stackoverflow.com/questions/13217434/…
标签: python cassandra subprocess command-line-interface