繁体   English   中英

如果安装了coreutils 8.24或更高版本,如何在Python中查找?

[英]How do I find out in Python if coreutils version 8.24 or higher is installed?

有一个功能可以使用coreutils 8.24监视dd的进度

(另请参阅: https : //askubuntu.com/questions/215505/how-do-you-monitor-the-progress-of-dd/539305

这意味着,我可以调用shell突击队,例如

dd if=/dev/urandom of=/dev/null status=progress

执行上面指定的命令时,如何确保正确的coreutils版本安装在主机系统上?

由于此行是python应用程序的一部分,可能在不同的发行版上运行,因此,使用包管理器进行验证不是最好的方法。 同样,我们无法使用which命令来验证已安装库的存在。

您可以调用subprocess.check_output,因为dd提供了--version标志来输出其版本:

import subprocess

m = subprocess.check_output(["dd", "--version"])
ver_line = m.split('\n')[0]
ver = ver_line.split(' ')
msg = 'dd status=progress does not work'
if float(ver[2]) >= 8.24:
    msg = 'dd status=progress works'
print msg

可能是一个足够好的版本检查。

我不认为您的示例dd命令不是您真正想要的命令。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM