gpt4 book ai didi

python - 为什么 Python 为短于文件系统限制的文件名给出 "OSError: [Errno 36] File name too long"?

转载 作者:IT王子 更新时间:2023-10-29 00:43:23 28 4
gpt4 key购买 nike

以下代码会产生意外异常:

open("52bbe674cdc81d4140099b84fa69eea4249bcceee75bcbe4838d911ab076547cfdad3c1c5197752a98e5525fe76613dbe52dcdb1a9a397669babce0f101d010142cffa000000.csv", "w")
OSError: [Errno 36] File name too long: '52bbe674cdc81d4140099b84fa69eea4249bcceee75bcbe4838d911ab076547cfdad3c1c5197752a98e5525fe76613dbe52dcdb1a9a397669babce0f101d010142cffa000000.csv'

这是意外的,因为我的文件系统是 ext4,它(根据维基百科)有 255 字节的文件名长度限制。上述文件名的长度为 144。

那么,为什么 Python 在实际上没有超过文件名长度限制时会引发此异常?

最佳答案

我找到了解决方案。事实证明,我不是在处理纯 ext4——它实际上是在 ext4 之上分层的 ecryptfs,从以前的 Ubuntu 安装中继承而来。正如对 this related question 的未接受答案中所建议的那样ecryptfs 层对文件名长度施加了 143 个字符的限制。可以找到 ecryptfs 下文件名长度限制的明确答案 here .

关于python - 为什么 Python 为短于文件系统限制的文件名给出 "OSError: [Errno 36] File name too long"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34503540/

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