因此,我将.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/