shell脚本使用python远程执行

fix*_*xer 6 python unix shell

有没有办法在Windows上使用Python来执行位于远程Unix机器上的shell脚本?

PS:对于迟到的编辑感到抱歉.我知道帕拉米科,但我想知道是否有办法没有它.首先,可以用subprocess()完成吗?

pyf*_*unc 15

您需要ssh到远程计算机,如果您有适当的凭据,则可以调用shell脚本.

对于使用ssh,您可以轻松使用提供ssh自动化的paramiko模块

一个典型的例子:

import paramiko
import sys
import os
import os.path
passwd = ""
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect('servername', username, password=passwd)
stdin, stdout, stderr = ssh.exec_command('df -h')
x = stdout.readlines()
print x
for line in x:
    print line
ssh.close()
Run Code Online (Sandbox Code Playgroud)

将"df -h"命令替换为您的shell脚本.


raz*_*taz 3

python 中没有任何用于远程 shell 执行的“包含电池”模块。我建议研究Fabric,它提供了一个非常好的界面,可以在远程计算机上通过 SSH 工作,可能比 paramiko 好一点。您甚至可以在 Windows 上安装 Fabric...