我正在尝试将shell脚本转换为python来访问MongoDB。 我有密码:
primport = []
primport = call('/opt/mongodb/bin/mongo localhost27017 --eval "printjson(rs.isMaster())" | grep "primary"', shell = True)
当我试图打印primport时,整个值都会被打印出来:
`"primary" : "1404Base:27017"`,
是的。这不是我想要的。我只想要主机ID 27017。我试过使用python split函数,但它说int对象没有属性分割。我只需要ID,因为我必须在接下来的代码中将它作为参数传递。你知道吗
假设
call
来自subprocess
模块,call
返回命令的shell返回代码,而不是STDOUT。您希望获得命令的STDOUT
,为此您应该使用subprocess.check_output
。你知道吗尝试使用:
编辑: 另外,在系统调用中添加了一个
cut
,这样就不必在Python中进行任何清理。你知道吗相关问题 更多 >
编程相关推荐