python 全局变量的问题
myPy.py
ARG_COPY_ZIP_TO = "test"Python 全局变量
def setVars():
ARG_COPY_ZIP_TO = "123"
def main():
print "ARG_COPY_ZIP_TO = ", ARG_COPY_ZIP_TO # ARG_COPY_ZIP_TO = 123
setVars() # 这里应该设置了啊
print "ARG_COPY_ZIP_TO = ", ARG_COPY_ZIP_TO # 还是ARG_COPY_ZIP_TO = 123,为啥
if __name__ == "__main__":
main()
[解决办法]
在setVars中用global声明ARG_COPY_ZIP_TO是全局变量。
ARG_COPY_ZIP_TO = "test"
def setVars():
global ARG_COPY_ZIP_TO
ARG_COPY_ZIP_TO = "123"
def main():
print "ARG_COPY_ZIP_TO = ", ARG_COPY_ZIP_TO # ARG_COPY_ZIP_TO = 123
setVars() # 这里应该设置了啊
print "ARG_COPY_ZIP_TO = ", ARG_COPY_ZIP_TO # 还是ARG_COPY_ZIP_TO = test,为啥
if __name__ == "__main__":
main()