我来自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中做类似的事情吗?
答案 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发行版之一来实现:主要的发行版是Anaconda或Canopy(可能还有其他)。
您也可以在jupyter notebook环境中进行操作。
iPython保留变量的状态;这些变量可以访问并进行进一步的操作。
在某些情况下,这些发行版和环境可以很好地替代matlab。