Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python在文件上迭代并附加到txt_Python - Fatal编程技术网

python在文件上迭代并附加到txt

python在文件上迭代并附加到txt,python,Python,我试图迭代文件夹中的文件,但代码总是只在一个文件上执行(此时有两个文件)。程序应该打开txt文件,将其转换为Python列表,并将列表写入新创建的文件(每个单独)。我一个人找不到那只虫子 import io import os '''printing program directory''' ANVCONDA_directory = os.path.dirname(os.path.realpath(__file__)) + os.sep print ANVCONDA_directory

我试图迭代文件夹中的文件,但代码总是只在一个文件上执行(此时有两个文件)。程序应该打开txt文件,将其转换为Python列表,并将列表写入新创建的文件(每个单独)。我一个人找不到那只虫子

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)

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


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

检查缩进<打开('outfile'+文件名,'wb')为fp:的代码>不在os.listdir(inputdir)文件名的
范围内:
此外,请尝试保持缩进一致。1.
导入pickle
位于模块顶部。2.)你应该与你的缩进水平保持一致。确保在所有位置使用4个空格/1个选项卡。我发现了一些不一致的地方。谢谢你,我解决了这个问题