我正在将我的程序转换为在 Linux 上作为守护进程运行。我想使用 python-daemon package以节省重复工作。但是,我需要支持 python 2.4。
页面上给出的示例使用了 with
关键字,因此暗示 python 2.5; context managers也被列为从 2.5 开始支持。
我可以自己调用 __enter__()
和 __exit__()
方法吗?还是不止于此?
This question 几乎回答了我的问题,但在最后一刻错过了。
最佳答案
据我从源代码中可以看出,在 Python 2.4 中使用 python-daemon 应该很容易。 (不过,我没有安装 Python 2.4 来实际尝试。) DaemonContext
的 __enter__()
和 __exit__()
方法本质上是 open()
和 close()
的别名,所以等同于
with daemon.DaemonContext():
do_main_program()
只是
context = daemon.DaemonContext()
context.open()
try:
do_main_program()
finally:
context.close()
在浏览所有源代码时,我找不到任何特定于 Python 2.5 的内容。 (不过,有一些 Python 2.4 特定的构造,例如一些装饰器和 reversed()
,因此它不能直接用于 Python 2.3。)
关于python - 你能在 Python 2.4 中使用 python-daemon 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8309301/