2014-02-18 95 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實例。

相關問題