我正在撰写一个简短的教程,希望能够使用Python的doctest来运行其中的示例。
python -m doctest foo.txt
在教程中有一个点,我想开始使用一个新的、干净的Python解释器。是否有一种方法可以做到这一点?
您可以使用代码模块创建新的解释器。您甚至可以复制全局/局部变量。
在Blender文档这里中有一个很好的例子。
在脚本的中间,您可能想要检查变量、运行函数和检查流程。
import code
code.interact(local=locals())
import code
namespace = globals().copy()
namespace.update(locals())
code.interact(local=namespace)
__import__('code').interact(local=dict(globals(), **locals()))
在脚本的任何一行中添加code.interact,将会暂停脚本并在终端中启动交互式解释器,完成后您可以退出解释器,脚本将继续执行。
Python 2.6.6 (r266:84297, Aug 24 2010, 18:46:32) [MSC v.1500 32 bit (Intel)] on
win32
Type "help", "copyright", "credits" or "license" for more information.
>>> dir()
['__builtins__', '__doc__', '__name__', '__package__']
>>> import os
>>> dir()
['__builtins__', '__doc__', '__name__', '__package__', 'os']
>>> os.system('python')
Python 2.6.6 (r266:84297, Aug 24 2010, 18:46:32) [MSC v.1500 32 bit (Intel)] on
win32
Type "help", "copyright", "credits" or "license" for more information.
>>> dir()
['__builtins__', '__doc__', '__name__', '__package__']
>>> quit()
0
>>> dir()
['__builtins__', '__doc__', '__name__', '__package__', 'os']
>>>
然而,如果您想重新启动或重置Python解释器,而不像上面那样开始一个新的Python解释器,您可以查看此解决方案。我还没有探索它,但应该能帮助您开始。