java - 从 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) {
}
}
}
任何带有一些参考的解释都会有所帮助。
解决方案
推荐阅读
- javascript - 围绕整个多边形布线
- android-studio - 应用程序在发布之前是否应该完全没有错误?
- spring-security - Spring social 和 oauth2 协议有什么关系?
- java - 当我调用一个功能是切换到模块内的活动的模块时,我的应用程序崩溃了
- gcc - 为什么我不能使用 GCC 编译 ARM BE8 ELF?
- git - Visual Studio 代码终端“git add .”发送以下错误消息“致命:不是 git 存储库(或任何父目录):.git”
- django - 自定义 500 错误有时会出现空白页
- flutter - Flutter:InkWell 和 InkResponse 之间的区别?
- php - 任何远程用户使用 youtube api 将视频上传到 youtube
- mysql - mysql在更新时触发,保持列高于其他