如何跳过文件中的特定行?

时间:2017-09-08 16:31:56

标签: python

enter image description here我试图将每一行写入一个新文件,除了在这个特定空间中有H的那些文件。我真的无法弄清楚为什么这不起作用,它复制整个文件1。 我试图得到角色13,我的代码实际上是这样做的,所以不需要建议这个。问题必定在以后的某个地方。

谢谢

public class FirstClass{
 int first,second,total;
 public FirstClass(int first,int second) {
  this.first=first;
  this.second=second;
  this.total=first+second; 
 } 
}
public class SecondClass {
 public void display() {
  //Display all the details of FirstClass
 }
}
public class MainClass {
 public static void main(String args[]) {
  FirstClass f[]=new FirstClass[2];
  f[0]=new FirstClass(2,4);
  f[1]=new FirstClass(6,4); 
  SecondClass sec = new SecondClass();
  sec.display();
 }
}

文件示例:

1 个答案:

答案 0 :(得分:2)

这假设H总是由另一个条目继续:

import fileinput
import sys

f1 = open('file1', 'r')
f2 = open('file2', 'w')
for line in f1:
    temp = line.split()
    if len(temp) > 2:
        if temp[-2] != 'H':
            f2.write(line)
    else:
        f2.write(line)

f1.close()
f2.close()

它拆分每一行并检查倒数第二个元素是否为H

如果该行短于2个元素,则会跳过它并将其写入文件。

您以前的程序确实有效,因为它不会在H中打印包含line[13]的行,但正如您对问题的评论所述,H你是由于其他数据,寻找在某些行中移位。因此删除了一些含氢的行,Hline[13]的行,而其他行写在输出文件中。