1
私の知る限り、これは1つの条件で動作するかもしれませんが、ファイルをクリアしてファイル内の検索文字列を置き換えます。一度にファイル内の異なる文字列を見つけて置き換える方法は?
#!/usr/bin/python
open('vpc.xml','r+') as p: #open a file in read and write mode
p=rp.readlines()
print p #printing what content read by p
for line in p: #for loop up to end of line in file
if "<mac address=" in line: #if condition encounter by for loop line then it replaces the string specified in if condition.
print line
r.write(line.replace("<mac address=","<mac address1="))
elif "<source bridge=" in line:
print line
r.write(line.replace("<source bridge=","<source bridge1="))
elif "<target dev" in line:
print line
r.write(line.replace("<target dev","<target dev1"))
else :
print 'no changes'
continue
あなたは 'else'なステートメントの後に' write'含まれていないので、非変更された行が戻ってあなたのファイルにそれをしません。また、最初の 'elif'では' print line'の代わりに 'print lin'があります。 –
XMLパーサを使用せず、その機能を使用して要素を検索および編集する理由は何ですか? –
インデントを修正してください。 – SiHa