导入使用ipython的函数!句法

在ipython单元中,您可以执行如下shell命令:

ipython的:

print("asdf")
!echo asdf

但是,如果您尝试从文件导入此代码,

asdf.py:

def asdf():
  print("asdf")
  !echo asdf

ipython的:

from asdf import asdf

这会导致错误。

!echo asdf
^
SyntaxError: invalid syntax

用例是google colab中重复的大规模脚本,其中使用ffmpeg,wget,mount和e.t.c。 虽然可以使用os.system或子进程,但它们在提供实时标准输出方面不如交互式。