我不知道如何向Google提出此问题,但我想编写一个Python脚本,在执行时,它只会导入一些模块,并公开普通的Python解释器shell,以便用户可以输入命令并使用导入的模块。
实现这一目标的最不实用的方法是什么,最好不得不写一个文件?
答案 0 :(得分:0)
如果您使用的是Unix系统,只需告诉您的脚本在完成后打开交互式Python解释器:
#!/usr/bin/env python -i
import re
对于仅支持Python的解决方案,您可以使用code
模块,将调用者的环境传递给它,以便继承定义。如果您不介意继承code
模块本身,它可以像这样简单:
import code
import re # etc.
code.interact(local=globals())
演示:
>>> import code
>>> import re
>>> code.interact(local=globals())
Python 3.4.4 |Anaconda custom (x86_64)| (default, Jun 15 2016, 15:48:32)
[GCC 4.2.1 Compatible Apple LLVM 4.2 (clang-425.0.28)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)
>>> dir()
['__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__', 'code', 're']
>>>