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
命令不是您真正想要的命令。
关于python - 如果安装了 coreutils 8.24 或更高版本,我如何在 Python 中查找?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50743112/