将命令行参数传递到 Pluto Notebook

问题描述 投票:0回答:1

Pluto 的优点之一是笔记本

my_notebook.jl
也是一个可以使用
julia my_notebook.jl
运行的 Julia 脚本。

在 Julia 脚本中,可以轻松使用命令行参数设置变量的内容,例如以下代码

# example.jl
println("Hello $ARGS[1]")
使用

Hello there

 运行时
将输出
julia example.jl there

事实证明,这在 Pluto 笔记本中也同样有效,但前提是您将其作为脚本执行

julia my_notebook.jl there

我希望能够使用

julia -e "using Pluto; Pluto.run(notebook=\"example.jl\")" there
打开笔记本并查看笔记本内的结果。事实证明,这个语法返回一个错误:我找不到任何方法来填充 Pluto 笔记本中的变量
ARGS

有没有办法可以实现这一点?

command-line julia arguments pluto.jl
1个回答
0
投票

虽然

Pluto.Configuration
模块似乎没有这样的选项,但可以通过使用子进程继承的系统环境变量轻松继承。

考虑这个 Julia 会议:

$ julia -e "" --interactive one two

julia> ARGS
2-element Vector{String}:
 "one"
 "two"

julia> ENV["PLUTO_ARGS"] = join(ARGS,"\n");

julia> using Pluto

julia> Pluto.run()

现在在 Pluto 中您可以在

ENV["PLUTO_ARGS"]
中看到这些参数:

© www.soinside.com 2019 - 2024. All rights reserved.