gpt4 book ai didi

python - 内置 open() 函数中 opener 参数的用途是什么?

转载 作者:太空宇宙 更新时间:2023-11-04 06:41:54 28 4
gpt4 key购买 nike

我正在玩 python 3.5 中的 open 函数。我不明白 opener 参数(最后一个参数)在 open 函数中的用法。根据 python 文档:可以通过将可调用对象作为打开器传递来使用自定义打开器。

open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)

有人可以通过示例向我解释为什么我需要开场白吗?

最佳答案

参见文档 here .他们给出的例子如下:

import os
dir_fd = os.open('somedir', os.O_RDONLY)
def opener(path, flags):
return os.open(path, flags, dir_fd=dir_fd)

with open('spamspam.txt', 'w', opener=opener) as f:
print('This will be written to somedir/spamspam.txt', file=f)

os.close(dir_fd) # don't leak a file descriptor

这个特定示例所做的是创建一个开启器,它始终采用路径并将它们解释为相对于您选择的给定目录 (somedir)。您可以想象使用更复杂的逻辑来根据文件类型查找特定目录,或者根据文件名的前几个字符将大量文件分成一个目录结构,并编写一个特定的函数作为您的打开器来定位它们。所有这些都会将文件定位逻辑封装到一个函数中作为您的开启者。

关于python - 内置 open() 函数中 opener 参数的用途是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37241711/

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