如何在Python的Dask中检查匹配A-*.txt模式的文件是否为空
解决方法
先通过glob模块匹配所有符合A-*.txt模式的文件,它能正确识别通配符,把目录下对应文件都找出来,接着逐个检查文件大小,确认没有空文件后再执行Dask的读取操作:
import glob import os from dask.dataframe import read_csv # 获取所有匹配命名模式的文件路径 target_files = glob.glob("A-*.txt") # 检查是否存在空文件 has_empty = any(os.stat(file).st_size == 0 for file in target_files) # 仅在无空文件时执行读取 if not has_empty: dask_df = read_csv(target_files) # 这里写后续的数据处理逻辑 else: print("检测到空文件,终止CSV读取操作")
细节说明
glob.glob("A-*.txt")会返回符合规则的文件路径列表,比如["A-1.txt", "A-2.txt"],如果文件在指定子目录里,把模式改成"./目标目录/A-*.txt"即可。any()配合生成器表达式,只要有一个文件大小为0就返回True,快速判断是否存在空文件。
内容的提问来源于stack exchange,提问作者Deepak
相关产品推荐
相关产品推荐

