Ipython Jupyter Notebook 中有一个有趣的选项,可以直接从笔记本执行命令行语句。例如:
! mkdir ...
! python file.py
此外 - 该代码可以使用 os
运行:
import os
os.system('cmd command')
但是如何运行交互式 shell 命令。例如:
!conda install package
可能需要将来输入 ([Y]/N
) 或文件夹位置,但不会接受进一步的输入。
最佳答案
!command
语法是 %system
的替代语法magic,可以找到文档here 。
正如您所猜测的,它正在调用 os.system
以及 os.system
没有简单的方法可以知道您将运行的进程是否需要用户的输入。因此,当使用笔记本或任何多进程前端时,您无法动态地向正在运行的程序提供输入。 (与 Python 中对 input
的调用不同,我们可以拦截)。</p>
由于您明确表示有兴趣从笔记本安装软件包,我建议阅读 the following from Jake Van Der Plas这是最近关于该主题的讨论的总结,并解释了这样做的一些复杂性。你当然可以选择 --yes
conda 的选项,但不保证使用 conda 安装始终有效。
另请注意 !command
是一项 IPython 功能,而不是 Jupyter 功能。
关于cmd - 从 Jupyter Notebook 运行交互式命令行代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44604027/