【发布时间】:2017-12-15 12:57:52
【问题描述】:
阅读文档 我经常遇到我想运行的文档测试。假设您想在 Jupyter 笔记本中运行以下命令:
>>> a = 2
>>> b = 3
>>> c = a + b
最快的方法是什么?
【问题讨论】:
标签: python jupyter-notebook doctest
阅读文档 我经常遇到我想运行的文档测试。假设您想在 Jupyter 笔记本中运行以下命令:
>>> a = 2
>>> b = 3
>>> c = a + b
最快的方法是什么?
【问题讨论】:
标签: python jupyter-notebook doctest
只需将其复制并粘贴到新单元格中即可。 Jupyter 在运行示例时会为您剥离此类标记:
如果您必须去除标记(也许是出于审美原因),您可以使用一些 Python 代码来执行此操作:
def extract_console_code(sample):
return ''.join([l[4:] for l in sample.splitlines(True) if l[:4] in ('>>> ', '... ')])
print(extract_console_code(r'''<paste code here>'''))
注意r 原始字符串文字!这应该适用于大多数 Python 代码。只有当您的代码示例包含更多 ''' 三单引号时,您才必须单独处理它们(通过在代码周围使用双引号,或者通过将部分与不同的字符串文字样式连接在一起)。另外,请注意,我们会跳过任何不以>>> 或... 开头的行;这些是输出行而不是代码。
您必须在 Python 脚本中运行它,因为 Jupyter 控制台仍然只是删除那些初始行,因此对于您的确切示例,取决于您添加行的方式,可能是 none 或者只返回几行;任何以>>> 或... 开头的行,即使是字符串文字,都已经被Jupyter 剥离了!
【讨论】: