python迭代文件并附加到txt

时间:2017-01-12 19:45:17

标签: python

我正在尝试迭代文件夹中的文件,但代码总是只在一个文件上执行(目前有两个文件)。该程序应该打开txt文件,将其转换为Python列表,并将列表写入新创建的文件(每个单独)。我无法单独找到这个bug。

import io
import os

'''printing program directory'''
ANVCONDA_directory = os.path.dirname(os.path.realpath(__file__)) + os.sep

print ANVCONDA_directory


inputdir = ANVCONDA_directory + "TEMP"
print os.listdir(inputdir)


'''counting files in folder'''
path, dirs, files = os.walk(inputdir).next()
file_count = len(files)
print file_count


for filename in os.listdir(inputdir):



#opening txt file to extract data
 with io.open(inputdir + "\\" + filename, "r", encoding="cp1250") as file:
     ocr_results = [line.strip() for line in file]


#spliting into list     
 for line in ocr_results:
    print("[" + line + "]")

#writing list to file
import pickle

with open('outfile' + filename, 'wb') as fp:
    pickle.dump(ocr_results, fp)

1 个答案:

答案 0 :(得分:1)

您正在编写输出的代码块的缩进似乎是错误的。它应该在for循环中。因为它当前在循环之外,所以它仅在上面的循环结束后执行。

我想提到的另一点是os.listdir包含文件夹中的所有内容,包括子目录。如果你想跳过目录,也许你应该看一下os.isdir