对于我正在制作的脚本,我需要一种跨平台的方式来检查:
- 如果安装了java。
- 脚本在什么平台上运行(例如 windows/amd64 或 linux/x86)
在蟒蛇。我怎么能做到这两点。
编辑:平台模块非常适合数字 2,但最好是查看是否安装了 java 而不是版本。
是如何通过python确定系统上是否安装了java的副本? 我同意第二个答案,特别是你不应该检查。你应该记录你对它的依赖,让你的包管理器在任何系统上安装它,在 Windows 上让你的用户自己安装它。
平台模块。
检查是否安装了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 在运行 shell 命令并捕获输出
我建议简单地尝试运行 java -version。正确安装 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)