首页 > 解决方案 > 如何为 PyJulia 简化一串可执行代码

问题描述

我想在 python 中使用 julia 来加速一些慢的代码。因此我安装了这个PyJulia包。由于某些 Julia 命令有几行长,我正在编写传递给 Julia 的可执行代码字符串。但是,字符串读起来很复杂。此外,我更愿意将其作为字符串,因为我想在 Jupyter Notebook 中工作,并希望在一个文件中看到每一段代码。这是代码:

import julia
from julia import Base
from julia import Main
from julia import DataFrames

jst = "using DataFrames; \
df = DataFrame(A = [1,2,4,6], B = ['M', 'F', 'F', 'M']);\
for i in 1:length(df.A);\
    if df[i,:A] > 3;\
        println(df[i,:A]);\
    end;\
end;\
"
Main.eval(jst)

有没有办法简化字符串jst

提前谢谢了

标签: pythonjuliacallexecutable

解决方案


  • 我猜你正在寻找的是多行字符串声明。这不会简化字符串,而是使其更容易作为代码片段阅读,并且非常适合代码。
  • 使用"""您可以在代码中声明代码片段并将其用于执行。
jst = """

using DataFrames;
df = DataFrame(A = [1,2,4,6], B = ['M', 'F', 'F', 'M']);
for i in 1:length(df.A);
    if df[i,:A] > 3;
        println(df[i,:A]);
    end;
end;

""".strip() # remove trailing & leading spaces

推荐阅读