我正在寻找在 python 中使用 bash 命令的最佳方式。有哪些方法?我知道 os.system 和 subprocess.Popen。
我试过这些:
bootfile = os.system("ls -l /jffs2/a.bin | cut -d '/' -f 4")
print bootfile
这会按预期返回 a.bin,但之后也会返回 0,因此打印:
a.bin
0
bootfile 现在被设置为 0。下次我打印 bootfile 时它只显示为 0。我猜这是退出值,我如何阻止这个值干扰?
我也试过:
bootfile = subprocess.Popen("ls -l /jffs2/a.bin | cut -d '/' -f 4")
print bootfile
但这似乎破坏了脚本,因为我没有得到任何返回,我做对了吗?
还有这些哪个更好,为什么?还有其他方法吗?首选方法是什么?
最佳答案
使用 os.readlink
(由@kojiro 提议)和 os.path.basename
只获取名称文件:
os.path.basename(os.readlink('/jffs2/a.bin'))
关于python - 来自 python 的 bash 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15136311/