Subscribe Bookmark RSS Feed

How do you Pass Arguments from JMP to Python script?

Highlighted
AT

Frequent Contributor

Joined:

Dec 2, 2017

Hi,

I like to pass a string (file name) to a Python Script using RunProgram. Here is the script:

 

 

file = "mtest.py abc.pdf";

 

RunProgram(executable("/usr/bin/python"),options({file}),readfunction("text"));

 

I appreciate your help. Thanks.

2 ACCEPTED SOLUTIONS

Accepted Solutions
ih

Community Trekker

Joined:

Sep 30, 2016

Solution

You need to pass two different arguments through RunProgram as a list, because you are actually passing two arguments to python.  I do not have a mac, but on windows this python script:

import sys
print(sys.argv[1])

 

and this jsl script:

RunProgram(
	executable("C:\path to\python.exe"),
	options({"C:/path to/pythonscript.py", "hi"}),
	readfunction("text")
);

 

returns:

"hi
"
nascif_jmp

Staff

Joined:

Jul 30, 2015

Solution

Keep an eye out for JMP 14.0 and the new Python Submit() command.

It will allow you to call Python code directly from JSL, passing and receiving data structures - no RunProgram() required.

4 REPLIES
ih

Community Trekker

Joined:

Sep 30, 2016

Solution

You need to pass two different arguments through RunProgram as a list, because you are actually passing two arguments to python.  I do not have a mac, but on windows this python script:

import sys
print(sys.argv[1])

 

and this jsl script:

RunProgram(
	executable("C:\path to\python.exe"),
	options({"C:/path to/pythonscript.py", "hi"}),
	readfunction("text")
);

 

returns:

"hi
"
AT

Frequent Contributor

Joined:

Dec 2, 2017

Thanks. I will give it a try.

nascif_jmp

Staff

Joined:

Jul 30, 2015

Solution

Keep an eye out for JMP 14.0 and the new Python Submit() command.

It will allow you to call Python code directly from JSL, passing and receiving data structures - no RunProgram() required.

AT

Frequent Contributor

Joined:

Dec 2, 2017

 


Thanks. It is good to know.