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

Python2.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 に答える