我有一个flask应用程序,在其中我正在python脚本(poll_servers.py)中重用函数。我可以导入该函数并运行它,但是我想对它进行检查,如果它正在运行,则退出该函数。
这是我在python脚本中的代码:
import os
import sys
# check if lock file exists, exit
if os.path.exists('static/poll.lock'):
sys.exit(1)
if not os.path.exists('static/poll.lock'):
with open('static/poll.lock', 'w'): pass
在我的app.py中,我有:
from poll_servers import poll
@app.route('/poll_servers', methods=['GET'])
def poll_servers():
response = json.dumps({'status':'OK'})
poll()
return response
我在poll_servers.py的sys.exit(1)
上遇到错误:
File "app.py", line 109, in poll_servers
poll()
File ".../poll_servers.py", line 262, in poll
sys.exit(1)
File ".../venv/lib/python2.7/site.py", line 403, in __call__
raise SystemExit(code)
SystemExit: None
有什么想法吗?如果我自己运行poll_servers.py,则sys.exit(1)
可以正常工作。
答案 0 :(得分:0)
然后什么也不做,也不会翻转if
语句的顺序:
import os
import sys
if not os.path.exists('static/poll.lock'):
with open('static/poll.lock', 'w'):
pass
else:
pass
# do something