Die*_*oni 1 python doctest jupyter-notebook
阅读文档我经常遇到我想要运行的doctests.假设你想在Jupyter笔记本中运行以下代码:
>>> a = 2
>>> b = 3
>>> c = a + b
Run Code Online (Sandbox Code Playgroud)
最快的方法是什么?
只需将其复制并粘贴到新单元格中即可.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>'''))
Run Code Online (Sandbox Code Playgroud)
注意r原始字符串文字!这适用于大多数 Python代码.只有当您的代码示例包含更多'''三元单引号时,您才必须单独处理它们(通过在代码周围使用双引号,或者通过将部分与不同的字符串文字样式连接在一起).另请注意,我们跳过任何不以>>>或开头的行...; 那些是输出行而不是代码.
你必须在Python脚本中运行它,因为Jupyter控制台仍然只是去除那些初始行,所以对于你的确切示例,根据你添加行的方式,它可能是没有或只有少数几个返回行; 任何以>>>或开头的行...,即使在字符串文字中,也会被Jupyter剥离!
| 归档时间: |
|
| 查看次数: |
86 次 |
| 最近记录: |