在两个函数之间传递文件名

时间:2014-02-25 12:32:33

标签: python global-variables

我知道答案可能微不足道,但是如何将文件名从函数传递给另一个?文件名是在我的函数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。我做错了什么?

1 个答案:

答案 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)