首页 > 解决方案 > 从 Java 代码传递空格分隔的字符串作为参数以执行 Python 代码

问题描述

我有一个包含以下代码的文件try.java 。我有一个空格分隔的字符串,我应该将其作为参数传递以执行另一个 python 代码test.py。有没有更简单的方法可以将整个字符串作为单个参数访问,而不是
sys.argv[1]在 python 代码中迭代每个参数以将所有参数作为一个字符串获取?目前,我正在这样做......

测试.py

import sys
lst = [' {0} '.format(elem) for elem in sys.argv[1:]]
str1 = ''.join(str(e) for e in lst)
print(str1)

尝试.java

import java.util.*;
import java.io.*;
class Try{
    public static void main(String a[]) {
        try {
            String s = "space separated string";
            Process p = Runtime.getRuntime().exec("python3 test.py " + s);
            BufferedReader in = new BufferedReader(new InputStreamReader(p.getInputStream()));
           String ret = (in.readLine());
            System.out.println("value is : " + ret);
        } catch (Exception e) {
        }
    }
}

任何带有一些参考的解释都会有所帮助。

标签: javapythonio-redirection

解决方案


推荐阅读