首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Python3中从awswrangler中捕获exceptions.NoFilesFound错误

如何在Python3中从awswrangler中捕获exceptions.NoFilesFound错误
EN

Stack Overflow用户
提问于 2021-04-22 03:11:09
回答 1查看 303关注 0票数 0

下面是读取存储在S3存储桶路径中的拼图文件的代码。当它在path中找到地块文件时,它可以工作,但是当它找不到任何文件时,会给出exceptions.NoFilesFound

代码语言:javascript
复制
import boto3
import awswrangler as wr
    
boto3.setup_default_session(profile_name="myAwsProfile", region_name="us-east-1")
    
path_prefix  = 's3://example_bucket/data/parquet_files'
path_suffix = '/y=2021/m=4/d=13/h=17/'
table_path = path_prefix + path_suffix

df = wr.s3.read_parquet(path=table_path)
print(len(df))

输出:

代码语言:javascript
复制
22646

如果S3路径中没有文件,例如,如果我将path_suffix'/y=2021/m=4/d=13/h=17/'更改为'/y=2021/m=4/d=13/h=170/',则会得到以下错误:

代码语言:javascript
复制
---------------------------------------------------------------------------
NoFilesFound                              Traceback (most recent call last)
<ipython-input-9-17df460412d8> in <module>
     11 
     12 file_prefix = table_path + date_prefix
---> 13 df = wr.s3.read_parquet(path=file_prefix)

/usr/local/lib/python3.9/site-packages/awswrangler/s3/_read_parquet.py in read_parquet(path, path_suffix, path_ignore_suffix, ignore_empty, ignore_index, partition_filter, columns, validate_schema, chunked, dataset, categories, safe, map_types, use_threads, last_modified_begin, last_modified_end, boto3_session, s3_additional_kwargs)
    602         paths = _apply_partition_filter(path_root=path_root, paths=paths, filter_func=partition_filter)
    603     if len(paths) < 1:
--> 604         raise exceptions.NoFilesFound(f"No files Found on: {path}.")
    605     _logger.debug("paths:\n%s", paths)
    606     args: Dict[str, Any] = {

NoFilesFound: No files Found on: s3://example_bucket/data/parquet_files/y=2021/m=4/d=13/h=170/.

看起来它来自awswrangler Python库,所以botocore.exceptions无法捕获它。我可以简单地使用python的try:except:来绕过它,但是我需要捕获它才能正确地处理它。我该怎么做呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-04-22 03:16:10

如果您只想捕获异常,

代码语言:javascript
复制
from awswrangler import exceptions
try:
  ...
except exceptions.NoFilesFound:
  ...
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67202108

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档