0

我有一个带有键/值对的 .csv 文件。我试图通过调用我的字典来检查给定的键是否在文件中,但我有一个我不太明白的错误。任何帮助表示赞赏!

  def Dictionary(x):

     wDictionary = open('file.csv', 'r')
     for line in wDictionary:
           mylist = line.split(',')


  def main():

     x = input('enter text:')
     cd = Dictionary(x)
     if x in cd:
          print('yes')

  main()

错误:

Traceback (most recent call last):
     File "7.py", line 15, in <module>
        main()
     File "7.py", line 12, in main
        if x in cd:
TypeError: argument of type 'NoneType' is not iterable
4

2 回答 2

2

由于您不是从 回来Dictionary(x)cd因此设置为None。因此错误。

一堆其他问题:我会让你自己修复缩进。

def Dictionary(x):

     wDictionary = open('file.csv', 'r')
     mylist = []
     for line in wDictionary.readlines():
           mylist.append(line.split(','))
     return mylist


 def main():

     x = input('enter text:')
     cd = Dictionary(x)
     for line in cd:
         if x in line:
             print('yes')

 main()

此外,您不需要将参数发送x到函数中,因为您没有对它做任何事情。

于 2013-10-10T18:43:39.167 回答
1

您没有在 Dictionary(x) 中返回任何内容,因此当您要求 Python 遍历 cd 时,它不知道该怎么做。

于 2013-10-10T18:44:36.507 回答