gpt4 book ai didi

python - 在 Python 中嵌套 'WITH' 语句

转载 作者:太空狗 更新时间:2023-10-29 19:32:18 34 4
gpt4 key购买 nike

事实证明,在互联网上搜索“with”是一个有趣的词。

有谁知道在 python 中嵌套 with 语句是怎么回事?
我一直在追踪我一直在编写的脚本中的一个非常棘手的错误,我怀疑这是因为我正在这样做:

with open(file1) as fsock1:
with open(file2, 'a') as fsock2:
fstring1 = fsock1.read()
fstring2 = fsock2.read()

当我尝试从 fsock2 读取 read() 时,Python 抛出。在调试器中检查后,这是因为它认为该文件是空的。这不会令人担忧,除非在调试器中运行完全相同的代码而不是在 with 语句中显示该文件实际上充满了文本...

我将继续假设现在嵌套 with 语句是不允许的,但如果知道更多的人有不同的意见,我很乐意听听。

最佳答案

我在 python 的文档中找到了解决方案。您可能想看看 this (Python 3)this (Python 2)

如果你运行的是 python 2.7+,你可以像这样使用它:

with open(file1) as fsock1, open(file2, 'a') as fsock2:
fstring1 = fsock1.read()
fstring2 = fsock2.read()

这样可以避免不必要的缩进。

关于python - 在 Python 中嵌套 'WITH' 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1990373/

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