如何使代码适用于多个文件 python


import os
import glob
Path3 = "e:/teste/xxx/Filtrados/"
Path4 = "e:/teste/xxx/FiltradosFinal/"
filelist = os.listdir(Path3)                             
_03000_text = ''
output = []
for x in filelist:
if x.endswith(".txt"):
print(f"Processando Arquivo {x}")
with open(Path3 + x, "r", encoding="utf-8") as data, open(Path4 + x, "w", encoding="utf-8") as f_out: 
for line in data:
if not line.startswith("03"):
output.append(line)
continue
if line.startswith("03000"):
_03000_text = "|".join(line.split("|")[:-1])
output.append(line)
continue
line = _03000_text + "|" + line
output.append(line)
output = "n".join(output)
print(output, file=f_out)

文件夹的第一个文件处理正常,但在第二个文件我收到此错误:

output.append(line)
AttributeError: 'str' object has no attribute 'append'

任何人都可以帮助我修复代码,使其适用于多个文件?

当你做output = "n".join(output)时,你output做一个字符串,所以你不能在下一次迭代中调用.appand

将最后几行替换为:

string_output = "n".join(output)
print(string_output, file=f_out)

如果您不想将输出保留到下一次迭代,只需将行向下移动一行output = [](使其成为 for 循环中的第一行(。