python 运行报错 AttributeError: 'function' object has no attribute 'index'

#!/usr/bin/python

import os,sys
def con_list():
con_list=[]
site_list=[]
for i in open('va_conf.txt'):
list_value=i[0:-2]
# print list_value
con_list.append(list_value)
# print con_list

def main():
try:
for i in open('va_conf.txt'):
str_site=i.find(r']')
line=i[1:str_site]
print line
num=i[0:-1]
print num
if line == 'CAM01':
CAM_site=con_list.index('[CAM01]')
# site_list.append(CAM_site)
print CAM_site
CAM_list=con_list[CAM_site+1:CAM_site+9]
print 'CAM:%s'%CAM_list
elif line == 'F40':
F40_site=con_list.index('[F40]')
# site_list.append(F40_site)
# print F40_site
F40_list=con_list[F40_site+1:F40_site+11]
print 'F40:%s'%F40_list
elif line == 'F50':
F50_site=con_list.index('[F50]')
except MySQLdb.Error, e:
print "Mysql Error %d: %s" % (e.args[0], e.args[1])

main()

你的程序里con_list与函数con_list重名了。你先把名子改正确了。

我已经有些无语了。你的程序逻辑有些乱。 你先把自己思路理清楚再写程序。

不过你可以试着将函数con_list改成fun_get_con_list
然后将con_list.index改成fun_get_con_list().index

这样是不是思路更清晰些。

主要是你没有把循环弄明白。先从基础做起。一点点加代码。先写个简单能用的代码。然后一点点在上面加功能。

比如先写一个文件读写,然后再写字符串分析,最后再将结果存储到一个列表里。一步步做。
温馨提示:答案为网友推荐,仅供参考
相似回答