You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python实现指定目录下多文件存在性校验,不存在则退出

解决方案

直接用os.path.exists()或者os.path.isfile()检查文件存在性,结合列表遍历就能实现需求。以下是完整代码:

import os
import sys

# 目标文件列表
target_files = ['a.txt', 'b.txt', 'c.txt']
# 指定检查的目录(当前目录用'.',也可写绝对路径如'/home/user/docs')
check_dir = '.'

# 遍历目标文件逐个检查
for file_name in target_files:
    # 自动拼接完整路径,适配不同系统的路径分隔符
    file_path = os.path.join(check_dir, file_name)
    if not os.path.isfile(file_path):
        print(f"错误:文件 {file_name} 在目录 {check_dir} 中不存在")
        sys.exit(1)  # 非0状态码标记异常退出

# 所有文件都存在时执行后续逻辑
print("所有目标文件均存在")

代码说明

  • os.path.join():避免手动拼接路径时的分隔符问题(Windows用\,Linux/macOS用/),保证跨平台兼容性。
  • os.path.isfile():严格判断路径对应的是存在的文件,如果只需检查路径存在(包括目录),可以替换为os.path.exists()。
  • sys.exit(1):遇到缺失文件立即终止程序,返回非0状态码,方便脚本在批量流程中判断执行结果。

简洁版(快速判断)

如果不需要定位具体缺失的文件,用all()函数可以简化代码:

import os
import sys

target_files = ['a.txt', 'b.txt', 'c.txt']
check_dir = '.'

# 批量检查所有文件是否存在
all_exist = all(os.path.isfile(os.path.join(check_dir, f)) for f in target_files)

if not all_exist:
    print("错误:存在未找到的文件")
    sys.exit(1)

print("所有目标文件均存在")

内容的提问来源于stack exchange,提问作者Bokambo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 10:49:53