是否有任何问题,如果在周期性脚本中我有一个"常数"变量,我在每次运行中重新声明它?
#!/usr/bin/env python
PATH_PATTERN = '/home/%s/config.xml'
PATH = None
def periodic_execution(function):
PATH = PATH_PATTERN % get_user()
interval_in_sec = 1000
threading.Timer(interval_in_sec,periodic_execution,[function]).start()
function()
# in function i use the PATH variable
def main():
periodic_execution(tasks)
if __name__ == '__main__':
main()
我知道常数不会是恒定的......
答案 0 :(得分:3)
<强>当心强>!在显示的代码中,PATH
变量是全局变量,但在periodic_execution
中,您在使用前PATH
指定global
并且未将其声明为def periodic_execution(function):
global PATH
PATH = PATH_PATTERN % get_user()
=&gt; Python实际上在函数中创建了一个局部PATH变量,并保持全局不变,这肯定不是你所期望的。
你应该写:
<div id="hide" class="center">
<h2>Profile name</h2>
<h3>Designation</h3>
</div>
更改全局变量。
但这绝不是常量。 AFAIK你不能在Python中声明真正的常量,即使你可以构建只读属性。
答案 1 :(得分:0)
您是否也在Python中查看关键字 global ?见link。由于您更改了函数中的变量,因此这是必要的。