首页 > 解决方案 > Python-逐行读取文件并处理

问题描述

我想读取输入文件的行和行,如果该行有一些字符,我想跳过该行并读取下一行。除了跳过的行之外,所有行都需要写入输出文件。使用函数创建了以下代码,但输出文件中未写入行,有人可以让我知道错误/更正。

  import os
  import time 
  timestr = time.strftime("%Y%m%d-%H%M%S")
  inputfile_str='input.txt'
  outputfile_str='output.txt'
  directory = os.path.normpath("C:/Users/Desktop/Python/Input")

  FILE_NAME=inputfile_str
  file_identifier = 'input.txt'
  def writeroutine(line):
      print(line)
      for subdir,dirs,files in os.walk(directory):
        for file in files:
          if file==outputfile_str:
         outputfile.write(line)


for subdir,dirs,files in os.walk(directory):
   for file in files:
      outputfile = open("Output.txt",'w')
       if file==inputfile_str:
        f=open(os.path.join(subdir,file),'r')
        for line in f:
            if line[0:12] == "AAAAAAAAAAAA" or line[20:29] == "##### ##:":
                continue
            else:
                writeroutine(line)

标签: python

解决方案


你的 outputfile 变量应该在全局范围内声明。您已在 for 循环中声明。


推荐阅读