在Jython 2.1中进行外部命令的输入/输出控制

1 投票
2 回答
1094 浏览
提问于 2025-04-16 09:44

我有一个应用程序,使用的是jython2.1,我需要运行一些外部程序(暂时假设是一些.exe文件)。我还需要捕获这些程序的输入和输出,比如日志信息。

但是,jython 2.1似乎不支持popen()这个功能。

有没有其他方法可以做到这一点,而不依赖于标准的Java库?我只是想探索不同的实现方式。任何小建议对我来说都非常有帮助,大家!!

2 个回答

0

你为什么还在用 jython 2.1 呢?这个版本太老了,已经发布了10年,网上几乎找不到下载和文档了。

在软件开发领域,10年可真是很长的时间。

最新的版本似乎支持 subprocess 模块,这是现在 Python 执行子进程和获取输出的标准方法。

1

你可以直接使用Java提供的类来完成这个任务。

from java.lang import Runtime
process = Runtime.getRuntime().exec("ls -l")
output = process.getInputStream() # process' output is our input
# read output somehow, while the process is generating it

撰写回答