很長一段時間後:寫入文件和維護入門蟒蛇語法
基本上我想從文件中讀取一行:
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代碼一次:當我再次對運行Python代碼
MY_FILE ='test1_01_02_03.hgx'
然而它吃了「=」和第二次寫入以下內容:
MY_FILE 'test1_01_02_03.hgx'
我可以添加對我現有的代碼總是保留'test1_01_02_03.hgx'的寫法。我認爲有問題:
f.write(line.rsplit(' ', 1)[0] + "\'%s'\n"%add_name)
但是我無法弄清楚問題所在。任何想法都會有所幫助。謝謝。
謝謝。在原始文件中是「=」後面有一個空格。然而,你的建議解決了這個問題。 – user741592