我正在尝试创建一个配置模板,使用CSV行和列作为变量输出到我的一个网络配置的文本文件中。代码如下:
import sys
import os
import csv
with open('VRRP Mapping.csv', 'rb') as f:
reader = csv.reader(f)
myfile = open('VRRP fix.txt', 'w')
next(reader, None)
myfile.write('*' * 50 + '\n' + 'VLAN interfaces for Core A\n' + '*' * 50 + '\n\n')
for row in reader:
#First, for the A side
myfile.write('interface vlan ' + str(row[0]) + '\n')
myfile.write('no ip vrrp ' + str(row[7]) + '\n')
myfile.write('ip vrrp ' + str(row[8]) + ' ' + row[9] + '\n')
myfile.write('ip vrrp ' + str(row[8]) + ' adver-int 10\n')
myfile.write('ip vrrp ' + str(row[8]) + ' backup-master enable\n')
myfile.write('ip vrrp ' + str(row[8]) + ' holddown-timer 60\n')
myfile.write('ip vrrp ' + str(row[8]) + ' priority ' + str(row[3]) + '\n')
myfile.write('ip vrrp ' + str(row[8]) + ' enable\n')
myfile.write('exit\n\n')
myfile.write('*' * 50 + '\n' + 'VLAN interfaces for Core B\n' + '*' * 50 + '\n\n')
for row in reader:
#And then the B side
myfile.write('interface vlan ' + str(row[0]) + '\n')
myfile.write('no ip vrrp ' + str(row[7]) + '\n')
myfile.write('ip vrrp ' + str(row[8]) + ' ' + row[9] + '\n')
myfile.write('ip vrrp ' + str(row[8]) + ' adver-int 10\n')
myfile.write('ip vrrp ' + str(row[8]) + ' backup-master enable\n')
myfile.write('ip vrrp ' + str(row[8]) + ' holddown-timer 60\n')
myfile.write('ip vrrp ' + str(row[8]) + ' priority ' + str(row[5]) + '\n')
myfile.write('ip vrrp ' + str(row[8]) + ' enable\n')
myfile.write('exit\n\n')
myfile.close()
我遇到的问题是在第一个for循环之后。显示了“核心b的VLAN接口”,但是第二个for循环中的所有内容都不会输出到文本文件。你知道吗
建议?你知道吗
您已经使用了reader对象中的所有行,需要从头开始。在第二个for循环add之前:
这将使指针回到文件的开头,以便您可以再次循环。http://www.tutorialspoint.com/python/file_seek.htm
如果需要读取两次读取器,则需要读取两次文件。一旦你读完一本书,你就不只是继续读下去,还指望能找到别的东西。你得回到开头。为此,请使用
在
for
循环之间。请注意,f
对于文件对象来说是一个糟糕的名称,myfile
也是。它们根本不描述它是什么文件或文件的用途。你知道吗相关问题 更多 >
编程相关推荐