- 論壇徽章:
- 0
|
回復(fù) 2樓 ttvast 的帖子
eval報錯
#ReadConf.py
import re#導(dǎo)入正則表達(dá)式模塊
conf_file_url='./Config/'#配置文件所在目錄
class ReadConf:
def __init__(self,file_name):
#初始化配置文件名變量
self.conf_file_name=''
#如果file_name值不為空則將其值賦給conf_file_name變量
if not re.match("\s",file_name):
if not file_name.isalnum():
self.conf_file_name=file_name
else:
return 0
def getConfFile(self):
return self.conf_file_name
def readConfText(self):
try:
conf_file=open((conf_file_url+self.conf_file_name),"r")#打開設(shè)定的配置文件
except IOError,err_msg:
print >> sys.stderr,'在打開',conf_file_name,'配置文件時出現(xiàn)IO異常,詳細(xì)信息:',err_msg,'.'
sys.exit(1)
var_records=conf_file.readlines()#讀取配置文件所有行
for var_record in var_records:
print var_record
def readConfVar(self):
try:
conf_file=open((conf_file_url+self.conf_file_name),"r")
except IOError,errmsg:
print >> sys.stderr,'在打開',conf_file_name,'配置文件時出現(xiàn)IO異常,詳細(xì)信息:',err_msg,'.'
sys.exit(1)
var_records=conf_file.readlines()#讀取配置文件所有行
for var_record in var_records:
if not (re.match("#",var_record) or re.match("\n",var_record)):
var_record=var_record.split('=')
eval(var_record[0])=var_record[1]
#TEST
#a=ReadConf('info.conf')
#a.readConfVar()
#End
錯誤信息:
Traceback (most recent call last):
File "test.py", line 10, in ?
from ReadConf import ReadConf
File "./ClassLib/ReadConf.py", line 45
eval(var_record[0])=var_record[1]
SyntaxError: can't assign to function call
這出的什么問題,我感覺eval()好像只能做為求值,不過在JavaScript里面的確可以用來創(chuàng)建變量. |
|