如何在Python中从命令行控制持久对象

时间:2018-08-05 11:09:57

标签: python matlab

我来自Matlab背景。在Matlab中,可以创建一个持久对象(在“工作区”中持久存在),然后从命令行对其进行操作。换句话说,我可以从命令行执行以下所有操作:

myStatic.initiate() // myStatic is a static class that consists of static functions only; the initiate function would create the persistent object
myStatic.method1()
...
myStatic.stop() // Erasing the workspace

我可以在Python中做类似的事情吗?

2 个答案:

答案 0 :(得分:1)

据我所知,python中没有什么比什么都没有。 Python没有像工作区这样的概念。 Python是解释器,它与您使用的IDE无关。

您可能有一个在程序启动时加载并在更改时保存的对象,请查找python pickle模块。

像这样保存:

import pickle

favorite_color = { "lion": "yellow", "kitty": "red" }

pickle.dump( favorite_color, open( "save.p", "wb" ) )

并加载它:

favorite_color = pickle.load( open( "save.p", "rb" ) )
# favorite_color is now { "lion": "yellow", "kitty": "red" }

或者您可以使用环境变量。

import os
print os.environ['HOME']

这将加载HOME环境变量。我认为这是一个更好的解决方案。但是,这种方式的范围仅限于用户,并且单个用户具有多个环境有其自身的缺点。

答案 1 :(得分:1)

是的,您可以使用ipython发行版之一来实现:主要的发行版是AnacondaCanopy(可能还有其他)。

您也可以在jupyter notebook环境中进行操作。

iPython保留变量的状态;这些变量可以访问并进行进一步的操作。

在某些情况下,这些发行版和环境可以很好地替代matlab。