gpt4 book ai didi

workflow - Ipython Notebook同时写入文件和执行单元

转载 作者:行者123 更新时间:2023-12-02 22:13:47 24 4
gpt4 key购买 nike

当使用魔法单元%%writefile时,ipython似乎将单元格的内容视为普通txt并且不会执行它。

有什么方法可以运行单元格中的代码,然后自动将其导出到某个脚本文件吗?

这很有用,因为它使您能够以编程方式将笔记本与仅保留笔记本某些部分的脚本同步。

在笔记本中,一些代码只是脚手架,将笔记本下载为py脚本将包含这些不必要的代码。同时,您可能想要重新构造文档,将两个代码块放在一起,而在笔记本中它们之间有很多草稿内容。

丑陋的是,以上这些事情都可以通过手动复制代码来完成。但会让以后的维护充满繁琐的重新复制粘贴工作。

最佳答案

感谢作者的解答。我认为完整的代码对其他人有用:

from IPython.core.magic import register_cell_magic


@register_cell_magic
def write_and_run(line, cell):
argz = line.split()
file = argz[-1]
mode = 'w'
if len(argz) == 2 and argz[0] == '-a':
mode = 'a'
with open(file, mode) as f:
f.write(cell)
get_ipython().run_cell(cell)

您可以在 Jupiter 笔记本中声明这一点。将单元格标记为:

%%write_and_run some.py 

%%write_and_run -a some.py 

关于workflow - Ipython Notebook同时写入文件和执行单元,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33358611/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com