python - os.path.exists() 用于路径中的文件?

标签 python windows

我通常使用 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/

相关文章:

python - 列表与列表列表的第一个元素之间的交集

python - 从 S3 上传 AWS Lambda python zip 后权限被拒绝

python - 是否可以在 python 中将列表转换为队列?

PHP使用windows账号连接SQL Server

windows - 创建Windows驱动程序以访问网络存储

python - PyWin32 (226) 和虚拟环境

Windows命令行: how to loop over a list?

python - Dask Bag.to_textfiles 适用于单个分区,但不适用于多个分区

python - Doc2Vec:区分句子和文档

c++ - 在 MFC 应用程序中,将文件从一个目录复制到另一个目录的最简单方法是什么?