以下代码仅处理我的'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()
答案 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)
编辑:编辑过的问题应该解决这个问题