Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/349.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
如何检查当前平台以及python中是否安装了java?_Java_Python - Fatal编程技术网

如何检查当前平台以及python中是否安装了java?

如何检查当前平台以及python中是否安装了java?,java,python,Java,Python,对于我正在制作的脚本,我需要一种跨平台的方法来检查: 如果安装了java 脚本在哪个平台上运行(例如windows/amd64或linux/x86) 在python中。我怎么能做到这两个呢 编辑:平台模块非常适合第二个版本,但是最好使用一种方法来查看是否安装了java,而不是版本 是第二个答案的副本,特别是,我同意第二个答案,你不应该检查最有可能。你应该记录你对它的依赖,让你的包管理器在任何系统上安装它,在Windows上让你的用户自己安装它 模块 我建议您尝试运行java版本。 正确安装jav

对于我正在制作的脚本,我需要一种跨平台的方法来检查:

  • 如果安装了java
  • 脚本在哪个平台上运行(例如windows/amd64或linux/x86)
  • 在python中。我怎么能做到这两个呢

    编辑:平台模块非常适合第二个版本,但是最好使用一种方法来查看是否安装了java,而不是版本

  • 是第二个答案的副本,特别是,我同意第二个答案,你不应该检查最有可能。你应该记录你对它的依赖,让你的包管理器在任何系统上安装它,在Windows上让你的用户自己安装它

  • 模块


  • 我建议您尝试运行java版本。 正确安装java会将其添加到Linux和windows上的路径中(因此java命令行可以在文件系统的“任何地方”执行)

    例如,下面是我运行时的结果

     java -version
    java version "1.7.0_05"
    Java(TM) SE Runtime Environment (build 1.7.0_05-b06)
    Java HotSpot(TM) 64-Bit Server VM (build 23.1-b03, mixed mode)
    

    为了检查是否安装了java,您可以使用

    def run_command(command):
        p = subprocess.Popen(command,
        stdout = subprocess.PIPE,
        stderr = subprocess.STDOUT)
        return iter(p.stdout.readline, b'')
    out = list(run_command("java -version"))
    

    从vartec at

    +1检查java是否在您的路径上-1平台模块-通常在操作系统上测试单个功能比测试if/elif更好。听起来你在这两个方面都不同意,因为我没有提倡检查java是否在路径上:)。至于平台模块,OP没有提供任何关于他检查操作系统的信息,所以这可能是个好主意,也可能不是个好主意。对于许多特定于平台的东西,测试不一定以任何其他方式进行。为什么每个版本都需要
    elif
    ?你只是在检查它输出的东西。再说一次,如果你问我,我根本不会检查。