久しぶりにPythonで始めました:
基本的に私はファイルから行を読み取ろうとしています:
MY_FILE ='test1.hgx'
最終的に、このtest1.hgxを次のように変更したいと思います。
test1_para1_para2_para3.hgx
ここで、para1,23は私が書きたいパラメーターです。
以下にコードを書きました
add_name= '%s'%(filename)+'_'+'%s'%(para1)+'_'+'%s'%(para2)+'_'+'%s'%(para3)+'.hgx'
print "added_name:",add_name
with open(filename) as f: lines = f.read().splitlines()
with open(filename, 'w') as f:
for line in lines:
if line.startswith(' MY_FILE'):
f.write(line.rsplit(' ', 1)[0] + "\'%s'\n"%add_name)
else:
f.write(line + '\n')
f.close
上記のコードは期待どおりに機能し、Pythonコードを1回実行すると書き出されます。
MY_FILE ='test1_01_02_03.hgx'
ただし、Pythonコードをもう一度実行すると、「=」が消費され、次のように書き込まれます。
MY_FILE 'test1_01_02_03.hgx'
'test1_01_02_03.hgx'の書き込みを常に保持する何かを既存のコードに追加できますか?私は問題があると思います:
f.write(line.rsplit(' ', 1)[0] + "\'%s'\n"%add_name)
しかし、私は問題を理解することができません。どんなアイデアも役に立ちます。ありがとう。