0

为什么在 Python 中做类似 sed 的操作这么难?

cat temp$$ | sed '/ENTRY/d' | sed '/VERSION/d' > temp$$1

以下尝试根本不起作用(而不是写入我正在打印到屏幕的文件):

 70 for line in open("temp5027", 'r'):
 71     
 72     if re.search("ENTRY|VERSION", line) != None:
 73         pass
 74     else:
 75         print line

一个沮丧的第一次 python 用户。

注意:我使用的是 python 2.4,所以还没有“with”支持。

4

1 回答 1

4

使用 Python 2.4 写入文件

import re

i = open("in.txt")
o = open("out.txt", "w")

for line in i:
    if re.search("ENTRY|VERSION", line):
       o.write(line)

o.close()
i.close()

使用现代 Python 写入文件

import re

with open("in.txt") as i, open("out.txt", "w") as o:
    for line in i:
        if re.search("ENTRY|VERSION", line):
           o.write(line)

奖金

提高您的sed使用率。

$ sed -e '/ENTRY/d' -e '/VERSION/d' < in.txt > out.txt
于 2012-10-18T08:02:04.680 回答