2

我想调用一个 python 脚本,它有一个函数,这个函数需要一个参数。您能否建议如何使用来自 Julia 环境的参数从 Julia 终端调用此 python 脚本。
我试过 pyimport, py"""run code""", exec,但不幸的是我还没有找到解决方案。
示例:
假设我有一个文件 my_test.py,我想从 Julia 运行它。my_test.py 仅包含一个函数和执行如下所示:

def print_one_number(my_number):  
    print(my_number)   
    return my_number  
print_one_number(my_number) 

在 Julia 中,我有一个变量my_number_to_print。现在我想使用Julia 环境中定义的参数my_number_to_print从 Julia 终端运行 .py 脚本。我该怎么做?
谢谢你!

PS 如果我们不需要将任何参数从 Julia “转移”到 .py 脚本,那么下面的效果很好: py"""exec(open("my_simple_test.py").read())"""

4

1 回答 1

0

这是一个最小的示例,其中也使用 PyCall 定义了 python 函数。然而,如果你想使用一个 .py 文件,你可以像在 python 中那样将你需要的任何函数从它导入 PyCall 命名空间。然后,只需通过包装 py"function"(args1,args2) 来调用。

using PyCall
py"""
def print_one_number(my_number):  
    print(my_number)   
    return my_number
"""
my_number_to_print = 10
py"print_one_number"(my_number_to_print)
于 2021-12-12T08:23:49.457 回答