我想计算两个数据集之间的平均误差并将结果写入文件,但我的代码会出现此错误:
NameError:未定义名称“first1”
你能告诉我如何解决这个错误吗?
我用来运行代码的命令在这里:
python script.py input1.txt input2.txt> output.txt的
我的代码:
import numpy
from numpy import *
import scipy
import scipy.stats
import matplotlib. pyplot as plt
import matplotlib.patches as patches
from pylab import *
import scipy.integrate
from operator import itemgetter, attrgetter
import sys
def main(argv):
t = open(sys.argv[1])
first1 = t.readline()
tt = open(argv[2])
second2 = tt.readline()
return [first1], [second2]
def analysis(first1, second2):
first = np.array(first1, dtype = np.float64)
second = np.array(second2, dtype = np.float64)
#Average error
avgerr = (first - second).mean()
return [avgerr]
analysis(first1, second2)
if __name__ == '__main__':
sys.exit(main(sys.argv))
input1.txt:
2.5
2.8
3.9
4.2
5.8
input2.txt:
0.8
2.5
3.2
5.8
6.3
答案 0 :(得分:0)
analysis(first1, second2)
这些变量都没有在主程序中的任何位置定义。 这就是你得到错误的原因。您拥有的序列是这样的:
import stuff
define (but don't execute) main function
define (but don't execute) analysis function
call analysis, giving it variables first1 & second2
同样,这些变量尚未 定义。