1

我正在 windows 上运行一个 python 程序,它将os.walk安装在我的 windows 上的 linux 文件系统为QTreeView. 似乎当文件夹的路径超过 260 字符长度时,它将被视为文件而不是目录,因此os.walk停止进入该目录。如何绕过 Window 的最大路径长度限制?

4

2 回答 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 回答