下面是我的代码段。我正在使用Paramiko库,并试图操纵由外壳返回的数据。output
是原始数据,var1
将其转换为一个列表,我想对其进行索引以获取要在for循环中处理的特定数据,var2
是var1
作为字符串,将在以后用于断言,var3
是发生问题的地方。 var3
应该仅保留var1
的指定索引值我主要担心的是,当尝试打印screengrab
时,即使for循环仅应通过var1
进行解析,我仍然从var3
中获取所有值。昨天这个工作正常,直到我对打印语句进行了一些更改,但我不确定我哪里出错了。任何帮助将不胜感激!
remote = ssh.invoke_shell()
(*send commands here*)
output = remote.recv(4000)
var1 = output.splitlines()
found_vals = []
var2 = str(var1)
if test_title == 'BGP Test':
var3 = var1[14:27]
if test_title == 'NAT Test':
var3 = var1[26:30] + var1[39:44]
if test_title == 'VPN-IPSECSA Test':
var3 = var1[8:10] + var1[18:22]
if test_title == 'LDAP Test':
var3 = var1[13:]
if test_title == 'FQDN Test':
var3 = var1
var2 = FQDN_output
if test_title == 'SCP Test' or 'Admin Access Test'or 'NTP Access Test':
var3 = var1
for x in var3:
screengrab = x.decode('utf-8')
found_vals.append(screengrab)
print(screengrab)
* FQDN_output是在另一个函数中初始化的全局变量
如果我正确理解了这个问题,您可能希望将print
语句从for循环中拉出,直到完成附加。
在循环中:
var3='working'
for x in var3:
found_vals.append(x)
print(found_vals)
您将得到结果
w
wo
wor
...
如果使用
for x in var3:
found_vals.append(x)
print(found_vals)
这将打印working