IPython | Unix命令不在脚本中工作,但在命令行解释器中工作

IPython | Unix命令不在脚本中工作,但在命令行解释器中工作,ipython,Ipython,当我将它们放在test.py中并运行它时,下面的行给出了错误信息,但当我从命令行运行它们时运行良好 pyvar = 'Hello world' !echo "A python variable: {pyvar}" jitu@jitu-PC:~/ipython/python$ ipython test.py File "/home/jitu/ipython/python/test.py", line 2 !echo "A python variable: {pyvar}" ^ Synt

当我将它们放在test.py中并运行它时,下面的行给出了错误信息,但当我从命令行运行它们时运行良好

pyvar = 'Hello world'
!echo "A python variable: {pyvar}"

jitu@jitu-PC:~/ipython/python$ ipython test.py 
 File "/home/jitu/ipython/python/test.py", line 2
 !echo "A python variable: {pyvar}"
 ^
 SyntaxError: invalid syntax

知道它为什么不起作用吗

.py
文件是python脚本,它们应该是纯python,IPython不会尝试在其上做一些“魔术”。如果希望在纯python语法的基础上使用IPython提供的语法糖,那么应该将脚本重命名为
.ipy


请注意,所有IPython语法糖都可以转换为纯python(cf
%hist
vs
%hist-t
),这将是有效的python语法,但仍然需要访问IPython实例。

将脚本重命名为.ipyThanks@Matt it worked:)@Matt也许您的评论可以作为答案,并提供更多解释?是的,完成了,很难从我的手机上写下答案。