gpt4 book ai didi

python - 从 `which` 获取返回值来测试目录是否存在

转载 作者:行者123 更新时间:2023-11-30 23:11:48 25 4
gpt4 key购买 nike

我正在尝试编写一些东西来测试计算机上是否安装了 Bower。我正在尝试用 python 或 shell 脚本来完成它。我对两者都满意,但两者都失败了。我正在使用 which 函数并通过 python 中的子进程执行它。 (也许还有另一种方法可以做到这一点,那就是纯Python,而不是让它执行bash(?))

Python:

 if subprocess.call(['which', 'bower']):
print("bower exists at: " + subprocess.call(['which', 'bower']))
else:
print("no bower") //this prints

bash :

if [ which bower ] #also tried if [ which bower == /usr/local/bin/bower]
then
echo "bower installed"
else
echo "no bower"
fi

我猜问题是 which 没有返回字符串,它只是打印它。我如何访问它返回的信息?

最佳答案

您可以使用 distutils 中的 find_executable 函数。如果找不到可执行文件,它将返回 None:

>>> from distutils.spawn import find_executable
>>> find_executable('man')
'/usr/bin/man'
>>> find_executable('noman')
>>>

关于python - 从 `which` 获取返回值来测试目录是否存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30060419/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com