我有同样的代码,有时候在命令行中运行 python source.py
,有时候将其复制/粘贴到交互式IPython中。我想以稍微不同的方式执行代码,并尝试将差异嵌入到以下代码块中:
try:
__IPYTHON__
# do IPython-mode code
except NameError:
# do script-mode code
我知道这是Python中常见的一种技术,但它会破坏PyCharm中的自动标记功能,我希望能找到一些更有吸引力的方法来测试IPython是否存在,也许可以通过测试
'__IPYTHON__' in ...
或类似的方式来进行。但是,我发现这个符号既不在locals()
中,也不在globals()
中。还有其他地方可以测试它的存在吗?或者有没有其他更传统的测试方法,而不是直接使用异常? 我正在使用Python 2.7.11和IPython 5.1.0。非常感谢。更新:相关但无用的信息:How do I check if a variable exists?
get_ipython()
,它仅存在于 IPython 中,而不是普通的 shell。 - Guillaume