2014-02-25 42 views
0

我知道答案可能是微不足道的,但是如何将函数的文件名从另一个函数传递到另一个函数?文件名建立在我的函数the_reader中,我想在我的主函数中读取它。我报告下面的两个功能。在两个函数之间传递文件名

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

the_reader()函数返回的文件名可变的,所以如果你'打印(the_reader(指数,X,Y,peak_number))'要打印的返回值。 – Trimax

回答

2

您的代码有几个问题。首先,你应该在函数结尾处放置返回值。当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) 
相关问题