我试图将每一行写入一个新文件,除了在这个特定空间中有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();
}
}
文件示例:
答案 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
你是由于其他数据,寻找在某些行中移位。因此删除了一些含氢的行,H
中line[13]
的行,而其他行写在输出文件中。