为什么Python不索引我的列表并用新的索引版本覆盖它?仍在打印原稿
下面是我的代码片段。我正在使用Paramiko库并试图操作shell返回的数据为什么Python不索引我的列表并用新的索引版本覆盖它?仍在打印原稿,python,list,loops,variables,overwrite,Python,List,Loops,Variables,Overwrite,下面是我的代码片段。我正在使用Paramiko库并试图操作shell返回的数据 输出是原始数据 var1将其转换为一个列表,我希望对其进行索引,以获取特定数据,以便在for循环中进行处理 var2是var1作为一个字符串,稍后将用于断言 var3是出现问题的地方var3应仅保存var1的指定索引值 我主要担心的是,在尝试打印屏幕抓图时,我仍然会从var1获取所有值,即使for循环应该只通过var3进行解析。这是工作良好,昨天,直到我做了一些修改,打印声明,我不确定我错在哪里。任何帮助都将不胜
输出是原始数据
将其转换为一个列表,我希望对其进行索引,以获取特定数据,以便在for循环中进行处理var1
是var2
作为一个字符串,稍后将用于断言var1
是出现问题的地方var3
应仅保存var3
的指定索引值var1
屏幕抓图
时,我仍然会从var1
获取所有值,即使for循环应该只通过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_输出是在另一个函数中初始化的全局变量如果我正确理解了问题,您可能希望将
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)
这将打印
工作
如果我正确理解了问题,您可能希望将打印
语句从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)
这将打印
工作您的行:如果test\u title==“SCP test”或…
没有按您认为的那样执行。这将执行var3=var1
,解释您的症状。您的行:如果测试标题=='SCP test'或…
不符合您的想法。这最终会执行解释您症状的var3=var1
。这不是我在print语句中遇到的行为。行为的原因来自for循环的外部@夸姆拉纳成功地诊断出了这个问题。谢谢。这不是我在打印声明中所经历的行为。行为的原因来自for循环的外部@夸姆拉纳成功地诊断出了这个问题。非常感谢。