我常用os.path.exists()
在对文件执行任何操作之前检查文件是否存在。
我遇到过一种情况,我正在调用配置的环境路径中的可执行文件,因此可以在不指定的情况下调用它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
您想避免异常有什么具体原因吗? (除了教条?)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)