从另一个函数调用变量 Python
我想在一个函数里使用另一个函数中的变量。但是那个变量只在另一个函数里定义,并没有被声明为全局变量。有没有人知道怎么在当前函数里调用那个变量?下面的代码展示了'retval'这个变量的使用,但它是在另一个函数里定义的。
def email_results():
if make.retval > 0:
os.system('python email_success.py')
else:
os.system('python email_failure.py')
if __name__ == '__main__': myObject = email_results()
谢谢
我定义这个变量的函数是:
def make():
if os.path.exists(t):
command = "export ROOTDIR="+rootDir+"; "
command += "export PROJECT="+project+"; "
command += "export BUILD_DIR=$ROOTDIR/$PROJECT/basebuild; "
command += "export AD_EXEC_DIR=$BUILD_DIR/output_dev; "
command += "export BLDTARGET=MVArm9; "
command += "export PROFILE=release; "
command += "cd $ROOTDIR/$PROJECT; "
command += "make > "+logFileName+" 2>&1"
print "The command that I will be executing is:"
print command
#executing make command
retval = os.system(command)
print "retval=", retval
return retval
if __name__ == '__main__': myObject = make()
2 个回答
1
应该用make()而不是make.retval;前者是一个函数调用,后者是一个对象的成员(有时叫属性)引用。因为你把make定义成了一个函数,所以它可以被调用,但它并没有一个叫retval的成员。
7
你的 make.retval
可能是另一个函数 make
的结果,但根据你模糊的问题,我猜它没有返回 retval
。
你可以试试这个
def make( ):
etc.
return retval
def email_results( retval ):
etc.
if __name__ == "__main__":
retval= make()
email_results( retval )
请找一本好的编程书籍来读一读。你遇到的问题其实是编程的基本概念,而不仅仅是 Python 的问题。