cmd - 从 Jupyter Notebook 运行交互式命令行代码

标签 cmd ipython jupyter

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/

相关文章:

selenium - 如何关闭 Selenium Grid2 服务器?

ipython - 如何将 Cython 模块导入 IPython Notebook 并进行编译

python-2.7 - 决定 pip 和 easy_install 使用哪个 python 版本

python-3.x - 如何更改 Jupyter 实验室工作目录

anaconda - 如何在python 3.6的Windows 10上安装cvxopt

windows - postgres COPY (...) TO PROGRAM on Windows 给出错误

batch-file - 批处理 : Simply Syntax Error : Goto was unexpected at this time

c++ - 以有限的生命周期运行 .exe?

ipython - 如何使用 %edit magic 打印我定义的对象的源代码

IPython/Jupyter 安装扩展