我有一个 SSH 进入系统的 python 程序,运行一个 .py 脚本并且必须对文件进行分类。
一旦它在通过 SSH 连接到远程系统后运行 .py 脚本,我必须手动点击“返回”让 cat 程序显示文件的内容。这是因为程序在那个时候卡住了。
我所拥有的看起来像这样:
s = subprocess.Popen(["../../run.py", "cat", "../../file.xml")
如果我理解正确你想运行一个 python 脚本,等待它完成,然后 cat 一个文件?如果这是正确的,您将不得不使用两个子流程调用。您所写的行正在运行带有参数 cat 和 ../../file.xml 的 run.py
为什么 run.py 等待用户输入?我的第一选择是改变它。如果那不是一个选择,我可能会选择类似的东西
echo "/n" > python ../../run.py
我不确定你的计划是什么 :) 如果这是你想要做的事情的程度,那么 shell 脚本将是一个更好的选择。像这样的东西-
ssh user@myserver -c "echo "/n" > python ../../run.py; cat ../../file.xml"
如果是别的东西,子流程模块的文档可以解释许多不同的方式将输入输入到子流程中并从子流程中读取输出。