我对编码很陌生,我正在尝试让用户输入单词(区域(。我希望将这些放入一个列表中,该列表可用于根据计数器从中提取。其余的输入是从文件中提取的,然后使用 shlex.split 进行分解。然后,我命名这些行标记并将它们用于我的 if 语句和命名。我想知道是否有人可以查看以下代码并让我知道我做错了什么。我在运行时没有收到任何错误;但是,什么也没发生。我正在使用python 2.7。*添加"main(sys.argv[1]("后,脚本现在可以运行,但我仍然收到错误。
import sys
import shlex
def inputZone(zone):
zones = raw_input('Enter zones: ')
return zone
def main(argv):
count = int(0)
zones = zone.split(' ')
sys.stdout.flush
argv = sys.argv
if len(sys.argv) != 2:
configfile = open(str(sys.argv(1),'r'))
for configline in configfile:
with open('converted.txt','a') as converted:
linetokens = shlex.split(configline)
while count <= len(zones):
if(linetokens[0]=='set' and linetokens[1]=='group' and linetokens[3]==zones[count] and linetokens[5]=='add'):
groupObject=linetokens[4].replace(' ','_').replace('[','').replace(']','').strip()
groupZone=linetokens[3].strip(' ')
addressObjectName=linetokens[6].replace(' ','').replace('[','').replace(']','')
converted.write("set security zones security-zone " + groupZone + " address-book address-set " + groupObject + " address " + + addressObjectName +'n')
count = count + 1
configfile.close()
main(sys.argv[1])
你得到的错误是什么。我可以注意到程序中的许多python错误。
main(argv)
从不使用 argv
zones = zone.split(' ')
区域目前尚未声明。
sys.stdout.flush
是一个函数定义,你并没有真正调用它