Python 对象在重新执行时的持久性
有什么方法可以在重新执行正在运行的脚本时保留对象吗?如果我希望正在运行的脚本重新执行自身以获取任何代码更改,(os.exec*) 有没有办法在重新执行后保留对象以供访问?我可以使用 pickled ascii 数据设置环境变量,或者将该数据写入管道并在重新执行后重新读取它,但这看起来不优雅或像黑客。即使这样做,也不是所有的东西都能很好地腌制。
Is where a way to persist objects over re-execs of a running script? If I want a running script to re execute itself to pick up any code changes, (os.exec*) is there a way to persist the objects for access after the re-execution? I could set environment variables with pickled ascii data, or write that data to a pipe and re-read it after the re-execution, but that seems inelegant or like a hack. Even if doing that, not all items pickle well.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果将代码放入模块中,则可以使用
reload()
标准函数加载新版本的代码。您的主模块可能如下所示:
每当您想要重新加载模块代码时,请从
go()
返回True
。当你想退出时,返回False
。If you put your code in a module, you can use the
reload()
standard function to load the new version of the code. Your main module could look like this:Whenever you want to reload your module code, return
True
fromgo()
. When you want to exit, returnFalse
.查看
搁置
。Check out
shelve
.