因此,我将.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
这是关键字列表在打印时的外观:
[[hello, world], [123, 456]]
答案 0 :(得分:1)
尝试一下:
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
)。但是在其他作用域中,您无法访问该变量,因此需要将其存储在某些内容中。
答案 1 :(得分:0)
您的GroupAdd, TextEditor, ahk_class Notepad++
GroupAdd, TextEditor, ahk_exe Code.exe
GroupAdd, TextEditor, ahk_class Notepad
F1::
IfWinActive ahk_group TextEditor
GroupActivate, TextEditor, R
else
{
list := ""
; windows are retrieved in order from topmost to bottommost:
WinGet, id, list, ahk_group TextEditor
Loop, %id%
{
this_ID := id%A_Index%
WinActivate, ahk_id %this_ID% ; activate the most recently active window in this group
break
}
}
return
在函数keywordList
中,而不是在函数splitKeyword()
中。这就是为什么出现NameError的原因。
答案 2 :(得分:0)
关键字列表是splitKeyword函数的局部变量,该函数将其返回,因此您可以直接使用此函数并减少代码。
def functionOne(textFile):
textFileVar = open(textFile, 'r')
def splitKeyword(argument):
keywordList = []
for line in argument:
keywordList.append(line.strip().split(','))
return keywordList
print(splitKeyword(textFileVar))
results = functionOne("text1.txt")
print(results)