我通常使用 os.path.exists()
在对文件执行任何操作之前检查文件是否存在。
我遇到过这样一种情况,我正在调用配置的 env 路径中的可执行文件,因此可以在不指定 abspath
的情况下调用它。
是否可以在调用文件之前检查文件是否存在?
(我可能会求助于 try/except
,但首先我要寻找 os.path.exists()
的替代品)
顺便说一句 - 我在 Windows 上执行此操作。
最佳答案
您可以获得 PATH 环境变量,并在路径中的每个目录中为 .exe 尝试“exists()”。但这可能会表现得很糟糕。
查找notepad.exe的例子:
import os
for p in os.environ["PATH"].split(os.pathsep):
print os.path.exists(os.path.join(p, 'notepad.exe'))
更聪明的例子:
if not any([os.path.exists(os.path.join(p, executable) for p in os.environ["PATH"].split(os.pathsep)]):
print "can't find %s" % executable
您想避免异常的具体原因是什么? (除了教条?)
关于python - os.path.exists() 用于路径中的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/775351/