<< pyrun Python engine

pyrunfile


Run Python file from Nelson.


Syntax


pyrunfile(filename)
pyrunfile(filename input)
outvars = pyrunfile(filename, outputs)
outvars = pyrunfile(filename, outputs, pyName, pyValue, ...)

Input argument


filename

a string scalar, character vector: filename .py to run.

"filename 'input'"

a string scalar, character vector: filename .py to run with input arguments.

pyName, pyValue

Input arguments name and value

outputs

string array: Python variable names.

Output argument


outvars

One or more Nelson workspace variable names returned as valid Python types.

Description


pyrunfile(filenam) function executes Python file.

In contrast to the pyrun function, variables generated in the Python workspace through the pyrunfile function do not persist. This means that subsequent calls to pyrunfile won't be able to access these variables.

The code outvars = pyrunfile(file, outputs, pyName1, pyValue2, ..., pyNameN, pyValueN) executes the code with one or more name-value pair arguments.

Known limitation:

The pyrun and pyrunfile functions lack support for classes containing local variables initialized by other local variables via methods. In such cases, it's advisable to create a module and access it instead.

Examples


pyrunfile_example_1.py

content = "hello Nelson"
print(content)

pyrunfile from Nelson

pyrunfile('pyrunfile_example_1.py')

pyrunfile_example_2.py

import sys
print('greetings from:')
for arg in sys.argv[0:]:
    print(arg)

pyrunfile from Nelson with arguments

pyrunfile('pyrunfile_example_2.py "Hello" "world"')

pyrunfile_example_3.py

def minus(a,c):
    b = a-c
    return b

z = minus(x, y)

pyrunfile from Nelson with values from Nelson

pyrunfile('pyrunfile_example_3.py', 'x', 5, 'y', 3)

See also


pyrun, pyenv, Python types supported.

History


Version Description
1.4.0 initial version

Author


Allan CORNET

<< pyrun Python engine