#!/usr/bin/python
# Filename : parse.py
import re
filename = 'test'
parameters = {}
num = 0
def parse_params():
f = file(filename, 'r')
while (1):
line = f.readline()
if len(line) == 0:
break
elif line.startswith('#') or line.isspace():
continue
else:
num += 1
test = re.split(r'=',line.rstrip('\r\n'))
key = test[0].replace(' ','')
value = test[1].replace(' ','')
parameters[key] = value
for (name,val) in parameters.items():
print "Key : %s, value : %s" % (name, val)
f.close
parse_params()
上面的代码,执行遇到的问题:
遇到的错误:UnboundLocalError: local variable 'num' referenced before assignment
关键问题就是python中的变量,全局的变量如果不申明,就不能在局部使用
所以要在使用num前,申明:global num, 表示函数中修改的是全局变量。。。