gpt4 book ai didi

python - 如何在 python 中 "with open"文件列表并获取它们的句柄?

转载 作者:行者123 更新时间:2023-11-30 22:49:25 24 4
gpt4 key购买 nike

有可能with open()列表中包含的所有文件并创建用于写入的文件句柄?

例如,如果我的函数接受用于机器学习任务中的数据分割的文件名列表,

fname_list = ['train_dataset.txt', 'validate_dataset.txt', 'test_dataset.txt']

那么就可以方便地执行以下操作:

with open('source_dataset.txt) as src_file, open(name_list, 'w') as <DONT_KNOW_WHAT_TO_DO_HERE>:

并在 block 内执行一些数据分割。

编辑:所以我的问题基本上是“是否可以获取使用“with open()”打开的文件列表的多个文件句柄?”

最佳答案

在 Python 3.3 及更高版本中,contextlib.ExitStack可以用来正确而漂亮地做到这一点:

from contextlib import ExitStack

with open('source_dataset.txt') as src_file, ExitStack() as stack:
files = [stack.enter_context(open(fname, 'w')) for fname in fname_list]
... do stuff with src_file and the values in files ...
... src_file and all elements in stack cleaned up on block exit ...

关于python - 如何在 python 中 "with open"文件列表并获取它们的句柄?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39782888/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com