在Python中,有没有一种可移植且简单的方法来测试可执行程序是否存在?
简单我的意思是类似
which
命令的东西,这将是完美的。我不想手动搜索 PATH 或涉及尝试使用
Popen
& al 执行它并查看它是否失败(这就是我现在正在做的事情,但想象它是
launchmissiles
)
可以使用标准库中的
shutil
模块在Python中测试可执行文件的存在。具体来说,
shutil.which()
函数可以用来查找可执行文件在PATH中的位置,如果找到则返回完整路径,如果找不到则返回
None
。
以下是如何使用
shutil.which()
检查可执行文件是否存在的示例:
import shutil
executable = "ls" # 要检查的可执行文件的名称
if shutil.which(executable):
print(f"已找到可执行文件 '{executable}'")
else:
print(f"找不到可执行文件 '{executable}'")
这将打印以下输出:
已找到可执行文件 'ls'
此方法是可移植的,因为它依赖于
shutil
模块,该模块是Python标准库的一部分,并且可以在不同的操作系统上使用。它也比手动搜索PATH或尝试使用
Popen
执行文件更简单、更安全。
以下是一些关于
shutil.which()
函数的其他注意事项:
- 它在Windows、macOS和Linux等主要操作系统上都能工作。
-
它在当前环境中搜索可执行文件,包括由
PATH
环境变量指定的任何目录。 - 它返回找到的第一个可执行文件的完整路径。
-
如果找不到可执行文件,则返回
None
。
希望这对有所帮助!如果有任何其他问题,请告诉我。
标签:python,path From: 377017