为了账号安全,请及时绑定邮箱和手机立即绑定

如何根据for循环的结果制作一个列表

如何根据for循环的结果制作一个列表

一只甜甜圈 2021-07-07 17:57:08
我有这个脚本for row in c:    res = subprocess.Popen('bgpq3 -4 {} -m 24 -l {}'.format(row[5],row[2]), shell=True, universal_newlines=True,stdout=subprocess.PIPE,stderr=subprocess.PIPE)    stdout, stderr = res.communicate()    lines = []    for line in stdout.split('\n')[1:10]:        lines.append(line)        print(lines)结果是:   ['ip prefix-list 12414 permit 5.57.248.0/21']   ['ip prefix-list 12414 permit 5.57.248.0/21', 'ip prefix-list 12414 permit 5.199.144.0/20']   ['ip prefix-list 12414 permit 5.57.248.0/21', 'ip prefix-list 12414 permit 5.199.144.0/20', 'ip prefix-list 12414 permit 5.206.208.0/20']我正在使用 append 方法制作一个大列表,但我得到了很多列表!任何想法?
查看完整描述

1 回答

?
jeck猫

TA贡献1909条经验 获得超7个赞

如您所见,正确的列表是最后打印的列表。这是因为您将print函数放在循环中,并将在所有迭代中打印出当前列表,因此,从for正文中删除打印并将其从循环中删除。


for line in stdout.split('\n')[1:10]:

    lines.append(line)

print(lines)


查看完整回答
反对 回复 2021-07-13
  • 1 回答
  • 0 关注
  • 240 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信