0

在 django 框架中,您可以运行

./manage.py shell

你将在带有 django 设置的交互式 shell 中。我可以使用运行 python 交互式控制台

#!/usr/bin/env python
import code

code.interact(local=locals())

我想做和 django 一样的事情——执行 python 脚本进入交互式 shell(我的本地 thrift 包已经导入——这就是线索)。

4

1 回答 1

1

我不太确定“我的本地 thrift 包已经导入”是什么意思,但是如果你想用全局命名空间中已经定义的一组特定符号启动一个交互式 shell,我会在一个函数中完成,以及import其中的符号,以避免使用其余代码中的任何不需要的符号污染子外壳。

例如,如果你想启动一个交互式 shellsys并且os已经导入,那么这样的东西应该可以工作......

>>> 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']

...注意到sysandos已定义,但不是code因为它被导入全局命名空间,而不是本地命名空间。

于 2013-06-12T17:20:09.997 回答