私は常に pattern の直前に新しい行を追加します</IfModule>
。Pythonでこれを達成するにはどうすればよいですか。
参考までに、私のファイルは lxml/element ツリーを使用するための XML/HTML ではありません。私のファイルIfModule
の一部です.htaccess
私の考えは、ファイルを逆にしてパターンを検索し、見つかった場合はその直後に行を追加することです。続行する方法がよくわかりません。
私は常に pattern の直前に新しい行を追加します</IfModule>
。Pythonでこれを達成するにはどうすればよいですか。
参考までに、私のファイルは lxml/element ツリーを使用するための XML/HTML ではありません。私のファイルIfModule
の一部です.htaccess
私の考えは、ファイルを逆にしてパターンを検索し、見つかった場合はその直後に行を追加することです。続行する方法がよくわかりません。
ファイルを読み、最初に何かを出力する前に出力するはずの行を見つけたら、元の行を出力します。
with open('.htaccess') as fin, open('.htaccess-new', 'w') as fout:
for line in fin:
if line.strip() == '</IfModule>':
fout.write('some stuff before the line\n')
fout.write(line)
ファイルのインプレース更新:
import fileinput
for line in fileinput.input('.htaccess', inplace=True):
if line.strip() == '</IfModule>':
print 'some stuff before the line'
print line,
に置き換え</IfModule>
てみることができます\n</IfModule>
with open('.htaccess', 'r') as input, open('.htaccess-modified', 'w') as output:
content = input.read()
output.write(content.replace("</IfModule>","\n</IfModule>"))