Python为什么不索引我的列表,并用新的索引版本覆盖它?仍在打印原稿

问题描述 投票:0回答:1

下面是我的代码段。我正在使用Paramiko库,并试图操纵由外壳返回的数据。output是原始数据,var1将其转换为一个列表,我想对其进行索引以获取要在for循环中处理的特定数据,var2var1作为字符串,将在以后用于断言,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是在另一个函数中初始化的全局变量

python list loops variables overwrite
1个回答
0
投票

如果我正确理解了这个问题,您可能希望将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

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.