我使用python os.walk()获取某些目录中的文件和目录,但是有些文件的名称太长( 300),os.walk()不返回任何内容,使用onerror我得到了“ [错误234]更多数据可用’.我尝试使用yield,但一无所获,并显示“ Traceback:Stop...

我使用python os.walk()获取某些目录中的文件和目录,但是有些文件的名称太长(> 300),os.walk()不返回任何内容,使用onerror我得到了“ [错误234]更多数据可用’.我尝试使用yield,但一无所获,并显示“ Traceback:StopIteration”.
OS是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中失败


基础教程推荐
- pandas学习之df.fillna的具体使用 2022-08-30
- python-subprocess.Popen,从子进程中获取变量(子) 2023-11-11
- 用10分钟,搭建图像处理编程环境,0失败!(python语言,windows系统) 2023-09-05
- Python Paramiko模块用法介绍 2023-10-08
- 无法使用Chrome和Firefox在Linux Mint上运行Selenium Python脚本 2023-11-11
- 创建python虚拟环境(在ubuntu16.04中) 2023-09-04
- python-day30(进程 验证空间隔离) 2023-09-04
- python的内存管理 2023-09-03
- python验证多组数据之间有无显著差异 2023-08-08
- Python FTP“块”迭代器(无需将整个文件加载到内存中) 2023-11-13