Python - 代码不处理目录中的所有文件

时间:2011-07-06 15:21:48

标签: python

以下代码仅处理我的'textpath'目录中的一个文件。我正在使用“for .. in ..:”语句,因此它应该处理目录中的所有文件。我是一个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 :(得分: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)

编辑:编辑过的问题应该解决这个问题