IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    python执行shell命令

    admin发表于 2016-09-28 12:04:17
    love 0

    python执行shell命令,首先需要安装依赖包

    sudo pip install expect

    一个远程复制的python类:

    class RemoteShell:
    
        def __init__(self, host, user, pwd):
            self.host = host
            self.user  = user
            self.pwd  = pwd
    
    
        def put(self, local_path, remote_path):
    scp_put = '''
    set timeout -1
    spawn scp %s %s@%s:%s
    expect "(yes/no)?" {
    send "yes\r"
    expect "password:"
    send "%s\r"
    } "password:" {send "%s\r"}
    expect eof
    exit'''
            os.system("echo '%s' > scp_put.cmd" % (scp_put % (os.path.expanduser(local_path), self.user, self.host, remote_path, self.pwd, self.pwd)))
            os.system('expect scp_put.cmd')
            os.system('rm scp_put.cmd')

    具体是通过ecpect来捕获shell输出,然后通过send发送命令,执行。可以参照原作者的例子很快的改造出简单的python执行shell命令脚本。也可以使用 pexpect  模块。

    原文链接:http://blog.csdn.net/span76/article/details/11575231

     



沪ICP备19023445号-2号
友情链接