阅读文档我经常遇到我想要运行的doctests。我们假设您想在Jupyter笔记本中运行以下内容:
>>> a = 2
>>> b = 3
>>> c = a + b
最快的方法是什么?
答案 0 :(得分:7)
只需将其复制并粘贴到新单元格中即可。 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剥离!