我在Jupiter Notebook中尝试了以下众所周知的%alias示例:
%alias bracket echo "Input in brackets: <%l>"
bracket hello world
这应该输出:
Input in brackets: <hello world>
相反,我得到以下信息:
File "<ipython-input-12-237eb6e9d860>", line 1
alias bracket echo "Input in brackets: <%l>"
^
SyntaxError: invalid syntax
我已经清除了所有内容,关闭了书,甚至重新启动了内核。因此,这不是缓存中有一些“垃圾”的问题。我用%alias
尝试了很多不同的方法。什么都没有。我什至得到“未定义'xxx'”,其中'xxx'是用于别名的名称。
其他信息:
1)如果仅执行bracket
(无参数),则会收到错误消息:“未定义括号”。我觉得这很疯狂。希望您不要,并且知道发生这种情况的原因。
2)我正在使用Jupyter Notebook 5.6.0。
答案 0 :(得分:0)
Python 3.6.8
jupyter版本:4.4.0
笔记本服务器:5.7.8
%alias bracket echo "Input in brackets: <%l>"
bracket hello world
bracket'hello world'
bracket(1)
输出:
"Input in brackets: <hello world>"
"Input in brackets: <'hello world'>"
"Input in brackets: <(1)>"
答案 1 :(得分:0)
我能够复制您的问题,并且在%
调用之前放置bracket
会将其视为您正在创建的实际别名。
%alias bracket echo "Input in brackets: <%l>"
%bracket hello world
%bracket 'hello world'
%bracket (1)
输出:
"Input in brackets: <hello world>"
"Input in brackets: <'hello world'>"
"Input in brackets: <(1)>"
对于笔记本服务器5.7.4,Python 3.7.1和IPython 7.2.0