gpt4 book ai didi

当有长文件名时,Python 的 os.walk() 在 Windows 中失败

转载 作者:可可西里 更新时间:2023-11-01 09:20:44 24 4
gpt4 key购买 nike

我使用 python os.walk() 获取某些目录中的文件和目录,但是有些文件的名称太长(>300),os.walk() 什么都不返回,使用 onerror 我得到 '[Error 234] 更多数据可用。我尝试使用 yield,但也一无所获,并显示“Traceback:StopIteration”。

操作系统是windows,代码简单。我测试了一个目录,如果有长文件名,就会出现问题,而如果用短文件名重命名长文件名,代码可以得到正确的结果。

我对这些目录无能为力,例如重命名或移动长名称文件。请帮我解决问题!

def t(a):
for root,dirs,files in os.walk(a):
print root,dirs,files
t('c:/test/1')

最佳答案

在 Windows 中,文件名(包括路径)不能超过 255 个字符,所以你看到的错误来自 Windows,而不是 Python - 因为你设法创建了这么大的文件名,但现在你可以'不要阅读它们。看这个post了解更多详情。

关于当有长文件名时,Python 的 os.walk() 在 Windows 中失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18020151/

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