2014-02-18 65 views
3

当我将它们放在test.py中并运行它时,会出现错误,但运行良好时,我从命令行运行它们。IPython | Unix命令不能在脚本中工作,但在命令行解释器中工作

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

[email protected]:~/ipython/python$ ipython test.py 
File "/home/jitu/ipython/python/test.py", line 2 
!echo "A python variable: {pyvar}" 
^ 
SyntaxError: invalid syntax 

任何想法为什么它不工作?

+1

将您的脚本重命名为.ipy – Matt

+0

感谢@Matt它工作:) – Jitu

+0

@Matt也许您的评论可能是一个答案,更多的解释? –

回答

2

.py文件是python脚本,它们应该是纯python,IPython不会试图对它做一些“魔术”。如果您想使用IPython提供的纯Python语法之上的语法糖,您应该将您的脚本重命名为.ipy

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

相关问题