2013-10-30 27 views
1

我正在windows上運行一個python程序,它將在我的windows上安裝一個linux文件系統,爲QTreeView創建一個樹型號。看起來,當文件夾的路徑超過260個字符長度時,它將被視爲文件而不是目錄,因此,os.walk將停止在此目錄中。我如何繞過Window最大路徑長度限制?使用os.walk時,如何繞過窗口的最大路徑長度限制?

回答

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)) 
1

Subst是解決這個問題的方法之一。

要創建路徑C的虛擬驅動器五:\用戶\貝蒂\真的\真的\長\路徑,類型:

subst v: C:\User\Betty\Really\Really\Long\Path 
+0

如果這個答案包含了*如何使用'Subst'來處理這個問題,那麼這個答案會更有用。 – ForeverWintr

相關問題