将文件中的行提取到新文件

时间:2017-06-14 10:20:34

标签: python-3.x

有许多.txt文件包含我需要提取到其他文件的数据,同时保持原始文件不变。 这些文件包含以[A]或[B]开头的行(包括括号)。我需要能够打开原始的txt文件,如果lines = [A]提取文件中的所有这些条目并保存到另一个文件,如.txt.A,同样用lines = [B]保存为.txt.B。 这很容易做到不能像思想一样工作

selectPattern  = r"^[A]$"                          
for files in text_file:
    with open(files) as infiles:
        with open(files) as outfiles:                  
            lines = infiles.readlines()
            for line in lines:   
                if line.startswith(selectPattern):
                    outfiles +'.A'.write(lines)

其中一个文件中的数据样本

#
# Instruction File
#
[-] Created 
[-]
[A]         12  15  16
[A]         23  21  12
[A]         31  21  23
[B]         45  54  23
[A]         32  32  31  
[B]         21  24  28
[B]         32  45  31
[B]         43  31  12

1 个答案:

答案 0 :(得分:0)

selectPattern = r"[A]"更改为[A]。然后它可以匹配以startswith()开头的行。

for files in text_file: with open(files) as infiles: with open(files+'.A', 'w') as outfiles: # Modified lines = infiles.readlines() for line in lines: if line.startswith(selectPattern): outfiles.write(line) # Modified 函数不适用于正则表达式,它适用于文字字符串。

private void listView1_SelectedIndexChanged(object sender, EventArgs e)
{
    if  (listView1.SelectedItems.Count == 0)
       return;

    //... rest of code

}