shell python -c_python执行shell命令 | C/C++程序员之家

博客介绍了使用sudo pip install expect进行安装,给出一个远程复制的Python类RemoteShell,通过expect捕获shell输出、send发送命令来执行。还提到可参照原作者例子改造简单的Python执行shell命令脚本,也能使用pexpect模块。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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.youkuaiyun.com/span76/article/details/11575231

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值