将变量从python传递到imagej m

2024-06-01 16:49:51 发布

您现在位置:Python中文网/ 问答频道 /正文

我对Python还不熟悉。我要做的是使用子流程.Popen或者子流程调用,但我对如何形成所需的论点感到困惑。我把所有的帖子都找遍了,但都没找到。你知道吗

我尝试了几种不同的方法,如:

subprocess.Popen(["C://Users//user//Desktop//ij150-win-jre6//ImageJ.exe", "C://Users//user//Desktop//ij150-win-jre6//plugins//test.ijm"], stdin=PIPE, --p)
subprocess.Popen(["C://Users//user//Desktop//ij150-win-jre6//ImageJ.exe", "C://Users//user//Desktop//ij150-win-jre6//plugins//test.ijm"], p)
subprocess.Popen(["C://Users//user//Desktop//ij150-win-jre6//ImageJ.exe", "C://Users//user//Desktop//ij150-win-jre6//plugins//test.ijm", p])

下面是python的代码

import subprocess

p="test"

subprocess.Popen(["C://Users//name//Desktop//ij150-win-jre6//ImageJ.exe", "C://Users//name//Desktop//ij150-win-jre6//plugins//test.ijm"], stdin=PIPE, --p)

下面是来自imagej的代码

function testing(p)
{
    print (p);
}

我尝试了以上几种方法,但不断出现错误,如“positional argument following keyword argument”和“'str'object has no attribute'fileno'”。我怀疑这可能是错误的编码imagej方面,但我不知道如何。我试着只打印(p),但是imagej中出现了一个错误。你知道吗

基本上,我希望imagej宏读取python提供的变量(在本例中为“p”),然后在imagej中打印出变量。 有人能帮我吗?你知道吗

谢谢你。你知道吗


Tags: test错误pluginsexewinuserssubprocesspopen
1条回答
网友
1楼 · 发布于 2024-06-01 16:49:51

经过多次尝试和搜索,我终于找到了答案。调用imagej程序和脚本以及向脚本传递变量的python代码如下:

process = subprocess.Popen('imagej.exe  console -macro script.ijm variable', stdin=None, stdout=subprocess.PIPE, stderr=subprocess.PIPE)

为了脚本.ijm要接收参数,脚本必须具有以下行:

Input = getArgument();

现在我正试着找出如何让脚本.ijm将信息输出到python。你知道吗

相关问题 更多 >