作者Dong0129 (阿東)
看板Python
標題[問題] 請問這段程式碼的問題
時間Wed Mar 18 11:39:43 2015
請問以下程式碼跟資料怎麼讓它在讀取第2個檔案時將資料放到下一行?
def joinlns(lns,spliter=","):
return spliter.join([ln.strip() for ln in lns])
lines=open(file1).readlins()
mergedlines=[joinlns(x,spliter=" > ") for x in zip([::1],lines[1::1])]
with open(file2,'a') as handle:
handle.write("\n".join(mergedlines))
file_example1 in file1:
1
2
3
file2:
1 > 2
2 > 3
但是當我放入第2個檔案到file1時...
file_example2 in file1:
4
5
6
file2:
1 > 2
2 > 34 > 5
5 > 6
但我想要得到的是:
file2:
1 > 2
2 > 3
4 > 5
5 > 6
請問有什麼解決辦法嗎...?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.135.10.151
※ 文章網址: https://www.ptt.cc/bbs/Python/M.1426649986.A.AB3.html
→ uranusjr: 寫完資料關檔案之前多寫一個換行啊 03/18 11:59
handle.write('\n'.join(mergedlines)+'\n')
假如讀到空檔案會自動加空白行,因為之後還有函式要對這個文件做處理,
所以想說有沒有方法能夠直接在這個函式裡做完~
謝謝您的意見!
※ 編輯: Dong0129 (140.135.10.151), 03/18/2015 13:22:12
→ uranusjr: 啊就如果讀到空檔案就不要加空白行囉 03/18 16:54
→ uranusjr: 然後有什麼需求拜託一次講完, 不要擠牙膏 03/18 16:55
抱歉抱歉,不是擠牙膏啦,我知道可以用刪除空白行的做法,
只是想說有沒有更快的方法可以做而已@@
畢竟能動以後要思考怎麼樣提高效率不是嗎@@?
造成您的誤會真的很抱歉!
※ 編輯: Dong0129 (36.225.118.164), 03/18/2015 20:48:33