在django框架中,您可以运行
./manage.py shell
并且您将使用django设置进入交互式shell。我可以使用
运行python交互式控制台#!/usr/bin/env python
import code
code.interact(local=locals())
我想和django一样做 - 执行python脚本进入交互式shell(我已经导入了我的本地thrift包 - 这就是线索)。
答案 0 :(得分:1)
我不太确定“我已经导入了我的本地thrift包”是什么意思,但是如果你想用一个已在全局命名空间中定义的特定符号集启动交互式shell,我会这样做在函数中,以及import
中的符号,以避免使用其余代码中的任何不需要的符号来污染子shell。
例如,如果您想要启动一个已经导入sys
和os
的交互式shell,那么这样的事情应该有用......
>>> import code
>>> def start_shell():
... import sys, os
... code.interact(local=locals())
...
>>> start_shell()
Python 2.7.4 (default, Apr 19 2013, 18:28:01)
[GCC 4.7.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)
>>> dir()
['__builtins__', 'os', 'sys']
...注意sys
和os
已定义,但不是code
,因为它已导入全局命名空间,而不是本地命名空间。