因此,我将.txt文件拆分为列表列表(如下所示)。但是,当我尝试运行print(splitKeyword(keywords[1][0]))尝试打印keywordList中第二个列表/元素的第一个元素时,出现错误:NameError: name 'keywordList' is not defined。我怎样才能解决这个问题?

def functionOne(textFile):
        textFileVar = open(textFile, 'r')

    def splitKeyword(argument):
        keywordList = []
        for line in argument:
            keywordList.append(line.strip().split(','))
        return keywordList

    splitKeyword(textFileVar)
    print(keywordList[1][0])

results = functionOne("text1.txt")
print(results)


这是text1.txt / textFile / textFileVar的内容


  你好,世界
  
  123,456


这是在打印时keywordList的外观:

[[hello, world], [123, 456]]

最佳答案

尝试这个:

def functionOne(textFile):
        textFileVar = open(textFile, 'r')

    def splitKeyword(argument):
        keywordList = []
        for line in argument:
            keywordList.append(line.strip().split(','))
        return keywordList

    output = splitKeyword(textFileVar)
    print(output[1][0])
    return output

results = functionOne("text1.txt")
print(results)


查看return keywordList函数中的splitKeyword。它返回值(keywordList)。但是在其他作用域中,您无法访问该变量,因此需要将其存储在某些内容中。

关于python - 调用嵌套函数后发生NameError,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53246143/

10-09 13:46