初始化 python 解释器时如何打印问候消息?例如,如果我要使用自定义预定义变量初始化 python 解释器,我如何向用户宣传这些变量?
问问题
1130 次
2 回答
5
有一个名为的环境变量PYTHONSTARTUP
描述了在调用 Python shell 时要执行的 Python 文件的路径。该脚本可以包含在调用时执行的普通 Python 代码,因此可以包含变量、打印或您想要的任何其他内容。它可以在你的 ~/.bashrc 中设置
export PYTHONSTARTUP="$HOME/.pythonrc"
然后创建文件本身
cat > ~/.pythonrc << EOF
print 'Hello World!'
EOF
启动 python 时的输出看起来有点像这样
Python 2.7.8 (default, Oct 19 2014, 16:02:00)
[GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.54)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
Hello World!
>>>
因为它是一个普通的 Python 文件,所以可以像这样设置变量并显示它们/宣布可用性:
foo = 'Hello'
bar = 12.4123
print 'The following variables are available for use\nfoo: {}\nbar: {}'.format(foo, bar)
调用 Python repl 并打印变量时的输出foo
:
Python 2.7.8 (default, Oct 19 2014, 16:02:00)
[GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.54)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
The following variables are available for use
foo: Hello
bar: 12.4123
>>> print foo
Hello
iPython 的行为有所不同,它不执行 PYTHONSTARTUP 文件,但有自己的称为配置文件的机制。可以在 中修改默认配置文件~/.ipython/profile_default/startup/
,其中执行每个*.py
和*.ipy
文件(请参阅~/.ipython/profile_default/startup/README
)。
于 2015-05-06T17:43:56.040 回答
0
您可以使用内置控制台或 IPython 的控制台从脚本中嵌入控制台。
如果要使用 Python 的内置控制台,请传递banner
参数。假设您有要注入的变量字典:
from code import interact
vars = {'hello': 'world'}
message = 'Extra vars: {}'.format(', '.join(vars))
interact(banner=message, local={'hello': 'world'})
使用 IPython 的控制台,通过banner1
.
from IPython import embed
embed(banner1=message, user_ns={'hello': 'world'})
于 2015-05-06T17:45:04.993 回答