我知道答案可能微不足道,但是如何将文件名从函数传递给另一个?文件名是在我的函数the_reader
中构建的,我想在我的main函数中读取它。我报告了以下两个功能。
def the_reader(index, x, y, peak_number):
[...]
filename = ('file.txt')
return filename
mat_1 = np.array(mat,numpy.uint16)
np.savetxt(filename, mat_1, fmt='%i')
主要功能:
if __name__ == '__main__':
[...]
the_reader(index, x, y, peak_number)
然后在主要内容中,如果我输入print filename
,我收到了错误:NameError: name 'filename' is not defined
。我做错了什么?
答案 0 :(得分:2)
您的代码存在一些问题。首先,您应该在函数末尾放置return。当python遇到一个返回时,它会返回并且不会执行后面的行。
其次,你不能只返回一个值,你需要将它分配给一个变量才能使用它。
所以正确的方法是:
def the_reader(index, x, y, peak_number):
[...]
filename = ('file.txt')
mat_1 = np.array(mat,numpy.uint16)
np.savetxt(filename, mat_1, fmt='%i')
return filename
if __name__ == '__main__':
[...]
filename = the_reader(index, x, y, peak_number)