这个问题涉及到这个职位的一些延伸。 (Python: replacing shell pipeline with an ssh connection)。 它是关于在Python中翻译以下bash命令:
cat SomePythonScript.py | ssh remote_machine 'python'
使用子流程库和以下代码:
from subprocess import PIPE , Popen
p1 = Popen(["cat", "SomePythonScript.py"], stdout=PIPE)
p2 = Popen(["ssh", "remote_machine", "cat - | python"], stdin=p1.stdout,stdout=PIPE)
p1.stdout.close()
output = p2.communicate()[0]
效果不错。然后我将输出转换为字节:
output_= ast.literal_eval(output[0].decode("utf-8"))
在我的python项目中获取数据:这是我不高兴的地方,需要一些帮助。 现在,我想避免ast.literal\u eval,直接获取数据
我想把bash命令改成
var="$(cat ssh_get_data_QA_machine.py | ssh con-qa-1010 'python')
echo $var
并用子流程进行翻译。这是正确的方法吗?如果是的话,你能帮我完成这个子流程吗?从上周开始,我在子进程方面取得了一些进展,但我又一次被阻止了:(啊
事先非常感谢
目前没有回答
相关问题 更多 >
编程相关推荐