2011-07-06 41 views
0

下面的代碼僅處理我的'textpath'目錄中的一個文件。我使用「for .. in ..:」語句,因此它應該處理目錄中的所有文件。我是一個Python新手,所以任何幫助將真正感激!Python - 不處理目錄中的所有文件的代碼

textpath = "C:\Users\SL\Documents\FF Project\scratchpad\Text" 
newpath = "C:\Users\SL\Documents\FF Project\scratchpad\TextFiles" 
text2breaks = os.listdir(textpath) 

for text2break in text2breaks: 
    file = os.path.join(textpath, text2break) 
    textfile=open(file) 
    textFileContent=textfile.read() 
    textFileList = re.split("[0-9]{1,2} of [0-9]{1,4} DOCUMENTS", textFileContent) 
    for item in sorted(set(textFileList)): 
     listpos = textFileList.index(item) 
     resultsfilename = os.path.join(newpath, text2break[:-4] + "_" + str(listpos) + ".txt") 
     resultsfile = open(resultsfilename, "w") 
     resultsfile.writelines(item) 
     resultsfile.close() 
+1

請正確縮進您的代碼。請**編輯**您的問題並閱讀頁面右側的格式指南。 –

+0

'sorted(set(textFileList))'的結果是什麼?它有多個條目嗎? – AlG

+0

請確保你的問題的格式正確。特別是對像Python這樣的空白敏感的代碼,我們很難在不破壞代碼,功能和可能的錯誤來源的情況下改進格式。請檢查我爲縮進錯誤格式化的代碼。 – Bobby

回答

0

textfile=open(file)聲明只需要在迭代的最後一個值,因爲它的外循環

你循環應該是這樣的:

for text2break in text2breaks: 
    file = os.path.join(textpath, text2break) 
    textfile=open(file) 
    textFileContent=textfile.read() 
    textFileList = re.split("[0-9]{1,2} of [0-9]{1,4} DOCUMENTS", textFileContent) 

編輯:編輯的問題應該解決

+0

非常感謝您的幫助。我已經解決了這個問題。非常感激。 – user831880

+0

並對之前的格式化問題表示歉意 - 它是我第一次使用stackoverflow.com,因此我在完成格式化代碼之前發佈了它。 – user831880

相關問題