Why I am getting this "NameError: name 'trainingData' is not defined"
Why I am getting this "NameError: name 'trainingData' is not defined"
我尝试按如下方式导入 training.txt 数据。
def readTrainingData(training):
trainingData=[]
with open(training.txt) as f:
for line in f:
a1, a2 = line.strip().split()
trainingData.append((a1, a2))
return trainingData
之后我尝试使用训练数据来测量一些分数,如下所示:
for pair in trainingData:
linkScores[pair[0]+''+pair[1]]= computeProximityScore(pair[0],pair[1],'Jaccard',neighbors)
但是报错
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
<ipython-input-17-2532640f4771> in <module>
----> 1 trainingData
NameError: name 'trainingData' is not defined
有人能帮帮我吗?
谢谢
当你将变量 training
传递给函数时,我不明白你试图做什么。
但是当你打开一个文件时,你需要这样做:
```with open("file_name.txt") as f:```
此外,您不能在函数外访问变量 trainingData
。
我更新了你的代码(我希望它是你想要的):
Main(或您 运行 函数的任何其他地方):
trainingData = readTrainingData("training.txt")
# The rest of your code.
你的函数:
def readTrainingData(training):
trainingData = []
with open(training) as f:
for line in f:
a1, a2 = line.strip().split()
trainingData.append((a1, a2))
return trainingData
我尝试按如下方式导入 training.txt 数据。
def readTrainingData(training):
trainingData=[]
with open(training.txt) as f:
for line in f:
a1, a2 = line.strip().split()
trainingData.append((a1, a2))
return trainingData
之后我尝试使用训练数据来测量一些分数,如下所示:
for pair in trainingData:
linkScores[pair[0]+''+pair[1]]= computeProximityScore(pair[0],pair[1],'Jaccard',neighbors)
但是报错
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
<ipython-input-17-2532640f4771> in <module>
----> 1 trainingData
NameError: name 'trainingData' is not defined
有人能帮帮我吗?
谢谢
当你将变量 training
传递给函数时,我不明白你试图做什么。
但是当你打开一个文件时,你需要这样做:
```with open("file_name.txt") as f:```
此外,您不能在函数外访问变量 trainingData
。
我更新了你的代码(我希望它是你想要的):
Main(或您 运行 函数的任何其他地方):
trainingData = readTrainingData("training.txt")
# The rest of your code.
你的函数:
def readTrainingData(training):
trainingData = []
with open(training) as f:
for line in f:
a1, a2 = line.strip().split()
trainingData.append((a1, a2))
return trainingData