我正在 windows 上运行一个 python 程序,它将os.walk
安装在我的 windows 上的 linux 文件系统为QTreeView
. 似乎当文件夹的路径超过 260 字符长度时,它将被视为文件而不是目录,因此os.walk
停止进入该目录。如何绕过 Window 的最大路径长度限制?
问问题
1277 次
2 回答
1
Subst是解决这个问题的一种方法。
要为路径 C:\User\Betty\Really\Really\Long\Path 创建虚拟驱动器 V,请键入:
subst v: C:\User\Betty\Really\Really\Long\Path
于 2013-11-05T00:37:39.040 回答
1
我发现QtCore.QDir
即使路径超过 260 个字符,该模块也能正常工作。因此,我编写了自己的 os.walk 函数版本,类似于以下内容:
import os
from PyQt4 import QtCore
def myWalk(root_path):
dir_info = QtCore.QDir(root_path)
dirs = dir_info.entryList(filters=(QtCore.QDir.Dirs | QtCore.QDir.NoDotAndDotDot))
files = dir_info.entryList(filters=(QtCore.QDir.Files | QtCore.QDir.NoDotAndDotDot))
for i in dirs:
myWalk(os.path.join(root_path, i))
于 2013-11-18T19:24:37.240 回答