如何简化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','M']);\
for i in 1:length(df.A);\
    if df[i,:A] > 3;\
        println(df[i,:A]);\
    end;\
end;\
"
Main.eval(jst)

有没有一种方法可以简化字符串jst

非常感谢

解决方法

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

using DataFrames;
df = DataFrame(A = [1,2,4,6],B = ['M','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