相关疑难解决方法(0)

管道Ipython魔术输出到变量?

我想在我的ipython Notebook中运行一个bash脚本,并将输出保存为python变量中的字符串,以便进一步操作.基本上我想将bash魔法的输出传递给变量,例如输出如下:

%%bash
some_command [options] foo bar
Run Code Online (Sandbox Code Playgroud)

python ipython python-2.7 ipython-notebook ipython-magic

23
推荐指数
3
解决办法
7765
查看次数

Jupyter 获取任意笔记本单元格内容

我想从 Python 访问笔记本中另一个单元格的文本内容,以便我可以将其提供给单元测试脚本,无论它是否已执行。看起来这应该是可能的,但是我在 IPython 内核中找不到合适的 API 来做到这一点。想法?

这个问题提出了同样的问题,但除非必须,否则我真的不想使用魔法。理想情况下,工作流程是“选择小部件选择”,然后是“单击小部件”以运行测试。

背景

我正在和一些学生一起教他们 Python,在过去,当我这样做时,我设置了一堆单元测试,然后提供了有关如何通过 shell 脚本运行测试的说明。但是,我正在与一些在家中无法使用计算机的学生一起工作,因此我决定尝试使用 Jupyter 笔记本环境(通过 mybinder.org)让他们做同样的事情。我已经通过一些 ipywidgets 和一个帮助脚本来运行大部分代码,该脚本在一些任意代码集上运行单元测试。

python ipython jupyter jupyter-notebook

8
推荐指数
1
解决办法
3661
查看次数

打印在一个 Jupyter 单元格中定义的所有变量

有没有更简单的方法来以漂亮的方式显示单个单元格中定义的所有变量的名称和值?

我现在的做法是这样的,但是当有30个或更多变量时,我浪费了很多时间:

在此处输入图片说明

python ipython pandas jupyter-notebook

5
推荐指数
2
解决办法
4816
查看次数

定义一个 IPython 魔法来替换下一个单元格的内容

line-magic命令%load将给定文件的内容加载到当前单元格中,例如,执行:

[cell 1]    %load hello_world.py
Run Code Online (Sandbox Code Playgroud)

...将单元格转换为:

[cell 1]    # %load hello_world.py
            print("hello, world")
Run Code Online (Sandbox Code Playgroud)

我想创建一个%load_nextline-magic 命令,它将将此文件加载到下一个单元格中。例如,在以下笔记本中执行单元 1:

[cell 1]    %load_next hello_world.py

[cell 2]    print("hello, cruel world")  # original content
Run Code Online (Sandbox Code Playgroud)

...将保持单元格 1 不变并使用新内容更新单元格 2:

[cell 1]    %load_next hello_world.py

[cell 2]    print("hello, world")
Run Code Online (Sandbox Code Playgroud)

我已经尝试过这个:

[cell 1]    %load hello_world.py
Run Code Online (Sandbox Code Playgroud)

但它会在当前单元格和下一个单元格之间插入内容:

[cell 1]    %load_next hello_world.py

[cell 2]    print("hello, world")

[cell 3]    print("hello, cruel world")  # original content
Run Code Online (Sandbox Code Playgroud)

是否可以使其替换下一个单元格,或在插入下一个单元格之前删除下一个单元格?

python ipython ipython-magic jupyter-notebook

5
推荐指数
1
解决办法
751
查看次数