我有這個腳本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)
添加回答
舉報
0/150
提交
取消