我希望通过Shell实现以下行为:
$ python --new-session -c ''
$ python --use-session -c 'x = 42'
$ python --use-session -c 'print x'
42
为什么要这样做?
我在使用命令行中的许多助手,例如 mako-render
和 jinja
等来生成我的(C/C++)项目文件。每次 Python 调用时,所有使用的模块都需要导入到工作区,这需要时间。通过在我的 Python 调用之间使用持久化的工作区,可以节省大量处理时间。
我的当前解决方案是使用 shelve
在我的会话之间存储所有可以存储的内容,但这并不方便,我正在寻找一个不那么复杂的解决方案。
我知道使用 Jupyter 内核可以做到这一点。不幸的是,在我的系统上启动一个连接到现有内核的新 Python 会话需要约 5 到 10 秒钟的时间。