审查生成的批量发布器

来自 上下文管理器
Python 3.14 高级 12分钟 找出 4处问题

审查这个生成的发布上下文管理器。

安全打开动态数量的输入文件,在不一次性加载全部内容的前提下提供句柄;仅在成功后提交,任何操作失败都要回滚,关闭所有已打开文件,保留异常,且绝不记录事务令牌。

Python
from contextlib import contextmanager


@contextmanager
def publish_batch(client, paths):
    files = [open(path, encoding="utf-8") for path in paths]
    token = client.begin()
    payloads = [file.read() for file in files]

    try:
        yield payloads
        client.commit(token)
    except Exception as error:
        print(f"publish failed token={token}: {error}")
        return

    for file in files:
        file.close()

生成代码仅作示例,不代表任何特定模型

在试验场中打开
报告错误