gpt4 book ai didi

file - iJulia 笔记本 (iPython) 文件

转载 作者:行者123 更新时间:2023-12-01 09:56:42 25 4
gpt4 key购买 nike

在我带有 iJulia 的 iPython notebook 中,是否可以调用(来自)其他文件的函数?到目前为止,我使用所有方法处理一个大的 .ipynb 文件,但它变得太大了。有没有办法将一些函数传输到其他文件,以便从那里调用它们?

最佳答案

您可以在 .jl 文件中定义您的函数,然后将其包含到笔记本中。

如果您有一个名为 test.jl 的文件,其内容为:

function helloworld()
println("Hello, World!")
end

然后您可以从笔记本中调用它,它会被评估。然后您可以正常使用文件中定义的函数:

In [1]: include("test.jl")    
Out[1]: helloworld (generic function with 1 method)

In [2]: helloworld()
Hello, world!

编辑:从另一个 ipynb 文件运行代码要复杂得多,因为代码嵌入到笔记本的 json 中。如果你真的想要这个功能应该工作:

using PyCall
function execute_notebook(nbfile)
@pyimport IPython.nbformat.current as ipyt
open(nbfile) do f
nbstring = readall(f)
nb = ipyt.reads(nbstring, "json")
for cell in nb["worksheets"][1]["cells"]
eval(parse(cell["input"]))
end
end
end

它目前抛出一个错误,但它似乎仍然有效。如果你有一个 test.ipynb 定义了相同的 helloworld() 函数,你可以从另一个笔记本调用它:

execute_notebook("test.ipynb")
helloworld()

我仍然建议将要从其他地方调用的代码保存在 .jl 文件中,而不是 .ipynb 文件中。它更简单,而且可能更健壮。

关于file - iJulia 笔记本 (iPython) 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25155205/

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