【发布时间】:2015-10-23 06:16:58
【问题描述】:
如果有任何方法可以通过使用 subprocess 或 pxssh 模块来更改远程服务器上的当前工作目录,我很感兴趣。这样做的目的是创建新目录,并复制/粘贴文件。此外,了解是否有任何方法可以在一个过程中完成这些事情对我很有用。 执行下面的命令对我没有帮助,因为命令执行完成后进程立即终止。
import subprocess
p=subprocess.Popen(['ssh', '15.27.23.2','cd /home/incoming'], shell=True)
p.wait()
有人知道怎么做吗?不应使用第三方库。 感谢您的帮助。
【问题讨论】:
-
如果您使用的是 POSIX,那么不要将
shell=True与列表参数一起使用;使用单个字符串(shell 命令)或删除shell=True。 -
你可以use
pexpectto run multiple commands (communicate with the remote shell via ssh)。或者使用paramiko.SFTPClient进行文件操作。 -
对不起 J.F.塞巴斯蒂安。我的错。
-
我猜如果您设置了 shell arg,您可以使用分号构建命令字符串,如下所示:running multiple bash command with subprocess。
标签: python subprocess