我有这个脚本
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()
for line in stdout.split('\n')[1:10]:
print(line)
结果:
ip prefix-list 2603 permit 2.16.6.0/23
ip prefix-list 2603 permit 2.16.8.0/24
ip prefix-list 2603 permit 2.16.9.0/24
ip prefix-list 2603 permit 2.16.10.0/24
如何将这些列表放入一个数组? 这样的事情或更好的方法会更容易!
{ip prefix-list 2603 permit 2.16.10.0/24,ip prefix-list 2603 permit 2.16.8.0/24,ip prefix-list 2603 permit 2.16.9.0/24,ip prefix-list 2603 permit 2.16.10.0/24}
还有我下次如何查询它们?就像获取多行的相反方法!
我使用了它,但是得到了多个带有多个数组的行
cursor.execute("INSERT INTO newpeers (prefix) VALUES(ARRAY['{}'])ON CONFLICT DO NOTHING".format(line))
答案 0 :(得分:0)
我希望我能正确理解问题。 首先,我们需要像 lines
这样的python列表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]:
print(line)
lines.append(line)
插入时我们使用;
cur.execute("INSERT INTO newpeers (prefix) VALUES (%s)", (lines,))