Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从Java调用Python进程(执行tycat术语图像显示实用程序)不起作用_Java_Python_Bash_Unix_Terminology - Fatal编程技术网

从Java调用Python进程(执行tycat术语图像显示实用程序)不起作用

从Java调用Python进程(执行tycat术语图像显示实用程序)不起作用,java,python,bash,unix,terminology,Java,Python,Bash,Unix,Terminology,我基本上希望从Java主程序类将图像显示到控制台终端。图像应仅在主终端控制台中显示,不得打开新的图像显示实用程序窗口(即imagemagick、eog等) 我尝试了以下解决方法:以下Python代码(display_image.py)启动了tycat/terminology image display实用程序,该实用程序成功地在控制台终端中显示了一个图像: import os os.system("tycat -g 100x100 /home/user/Dekstop/image.png")

我基本上希望从Java主程序类将图像显示到控制台终端。图像应仅在主终端控制台中显示,不得打开新的图像显示实用程序窗口(即imagemagick、eog等)

我尝试了以下解决方法:以下Python代码(display_image.py)启动了tycat/terminology image display实用程序,该实用程序成功地在控制台终端中显示了一个图像:

import os
os.system("tycat -g 100x100 /home/user/Dekstop/image.png")
所以当我执行Python代码片段时,一切都很好。但是,当我从Java处理调用时,如下所示:

    Process proc = Runtime.getRuntime().exec(new String[]{"python","/home/user/Desktop/display_image.py"});

    BufferedReader stdInput = new BufferedReader(new InputStreamReader(proc.getInputStream()));

    BufferedReader stdError = new BufferedReader(new InputStreamReader(proc.getErrorStream()));

    // read the output from the command
    System.out.println("Here is the standard output of the command:\n");
    String s = null;
    while ((s = stdInput.readLine()) != null) {
        System.out.println(s);
    }

    System.out.println("Here is the standard error of the command (if any):\n");
    String s1 = null;
    while ((s1 = stdError.readLine()) != null) {
        System.out.println(s1);
    }
这个过程似乎被挂起了,没有显示任何东西。注意,我从术语中运行java类,仍然是相同的问题

如果有任何提示或帮助可以解决这个问题,或者帮助我在终端控制台应用程序中显示Java类中的任何图像文件,我将不胜感激


谢谢

tycat
是否在文档中的任何地方提到需要使用实时终端?是否需要您未提供的输入?快速浏览一下I-see
scanf
,它可以从stdin读取。您是否在任何地方提供该输入?应该从术语环境内部调用tycat。它可以采用以下格式的任何图像文件作为输入:$tycat I use
import subprocess
,然后构建一个命令字符串,如
command='tycat-g 20x100 image.png'
,最后使用
subprocess.Popen(command.split())
subprocess.检查输出(command.split())
tycat
是否在文档中的任何地方提到需要使用带电终端?是否需要您未提供的输入?快速浏览一下I-see
scanf
,它可以从stdin读取。您是否在任何地方提供该输入?应该从术语环境内部调用tycat。它可以采用以下格式的任何图像文件作为输入:$tycat I use
import subprocess
,然后构建一个命令字符串,如
command='tycat-g 20x100 image.png'
,最后使用
subprocess.Popen(command.split())
subprocess调用它。检查输出(command.split())