请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

老师,代码报错TypeError: 'NoneType' object is not iterable

import configparser
class readini(object):
def init(self,node=None):
if node == None:
self.node = "element"
else:
self.node = node
self.cf = self.load_ini(filename)
def load_ini(self,filename):
self.cf = configparser.ConfigParser()
self.cf.read(filename)
return self.cf
def get_value(self,node,key):
data = self.cf.get(node,key)
return data
if name == ‘main’:
read_ini = readini()
read_ini.load_ini(“D:/python/Tools/config/localelement.ini”)
print(read_ini.get_value(‘elements’,‘username’)

报错
File “D:/python/raed——ini.py”, line 13, in load_ini
self.cf.read(filename)
File “D:\python\lib\configparser.py”, line 693, in read
for filename in filenames:
TypeError: ‘NoneType’ object is not iterable

ini文件
[elements]
username=id>register-btn

正在回答 回答被采纳积分+3

1回答

Mushishi 2021-06-16 17:21:35

TypeError: 'NoneType' object is not iterable

说明你这个对象是不可迭代的。你一个空怎么迭代呢?你filenames 是kong的

你filename在哪里?你构造函数里面没传递。

self.cf = self.load_ini(filename)

0 回复 有任何疑惑可以回复我~
  • 提问者 weixin_慕哥2269558 #1
    不太懂,是改成self.cf = self.load_ini()吗,可是这样会报TypeError: load_ini() missing 1 required positional argument: 'filename'
    代码read_ini = readini()
    read_ini.load_ini("D:/python/Tools/config/localelement.ini")
    回复 有任何疑惑可以回复我~ 2021-06-17 09:05:08
  • Mushishi 回复 提问者 weixin_慕哥2269558 #2
    额。你妹发现你里面调用self.load_ini的时候你的filename没有传递东西吗?你仔细检查你代码。这是粗心造成。
    回复 有任何疑惑可以回复我~ 2021-06-18 15:36:49
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信