是否有可能以非交互方式运行扩展 IPython(可以在交互式控制台中使用,参见示例)作为脚本? 我没有在任何地方找到它。
示例:
#!/magical/ipython/command --that-i-want
from __future__ import print_function
d = !date +%s
!echo $d.s $(($d.s / 1000))
files = !ls -A
for i, f in enumerate(files):
print("File number %s is '%s'" % (i, f))
预期输出应为:(复制和粘贴到IPython交互式控制台的结果)
1463917269 1463917
File number 0 is '.ipynb_checkpoints'
File number 1 is 'file1.txt'
File number 2 is 'file2.txt'
当shebang ipython
时,它失败了:
d = !date +%s
^
SyntaxError: invalid syntax
答案 0 :(得分:1)
您可以运行此文件。
vi shebang.py
get_ipython().run_cell("""
from __future__ import print_function
d = !date +%s
!echo $d.s $(($d.s / 1000))
files = !ls -A
for i, f in enumerate(files):
print("File number %s is '%s'" % (i, f))
""")
和
ipython shebang.py
答案 1 :(得分:1)
使用.ipy
扩展名命名您的文件,并且IPython将能够使用(大多数)语法扩展来运行它。
虽然IPython所做的一切都是只是语法糖,但你可以用纯Python来做。
(也请使用Python 3)