使用pexpect控制kpcli

2024-10-04 03:17:04 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试使用keepassdb自动化ssh连接,我刚刚开始编写脚本来询问keypasskpcli shell。我要它在最后把结果打印出来。在

# -*- coding: utf -*-
import os,sys
import pexpect
global str
db_kp='/media/sf_VM_shared/passwords.kdb'
pass_kp='KDBPASSWORD'
kp = pexpect.spawn('/usr/bin/kpcli')
kp.expect('>')
kp.sendline=('open /media/sf_VM_shared/passwords.kdb')
kp.expect=('Please provide the master password:')
kp.sendline=(pass_kp)
kp.expect('>')
kp.sendline=('cd General/Network/Firewalls/SSH/')
kp.expect=('kpcli:/General/Network/Firewalls/SSH>')
kp.sendline=("show -f 0")
print(kp.before)

我在尝试运行文件时收到以下信息:

^{pr2}$

Tags: importvmpassnetworksfmediaexpectpexpect
1条回答
网友
1楼 · 发布于 2024-10-04 03:17:04

在这条线上:

kp.expect=('Please provide the master password:')

您正在替换expect函数,而不是调用它。取出=

^{pr2}$

您对kp.sendline执行了相同的操作,因此您还需要修复它。在

相关问题 更多 >