看板 Python 關於我們 聯絡資訊
※ 引述《bigpigbigpig (To littlepig with love)》之銘言: : ※ 引述《Dong0129 (阿東)》之銘言: : : 請問各位版友, : : 我有兩個檔案, : : File1: File2: : : 1 5 : : 2 6 : : 3 7 : : 4 8 : : 要合併成: : : File3: : : 1 5 : : 2 6 : : 3 7 : : 4 8 : : 目前的code: : : rfd1=open("file1","r") : : rfd2=open("file2","r") : : wfd=open("file3","w") : : for i in rfd1: : : if i[-1]=='\n': : : i=[0:-1] : : wfd.write(i) : : for i in rfd2: : : wfd.write('\t'+i) : : break : : rfd1.close() : : rfd2.close() : : wfd.close() : : 目前想出來也可用的程式碼如上, : : 但在思考是否有更好更短的寫法呢?? : : 還算是python初學者...所以寫的不夠好請見諒!! with open("file1", "r") as f1, open("file2", "r") as f2, open("file3", "w") as f3: for (i, j) in map(None, f1.readlines(), f2.readlines): f3.writeline("%s %s" % (i.strip() if i else "", j.strip() if j else "") 這樣? -- 一直很想按 esc + :wq 離開… -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.163.10.190 ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1429253322.A.0A7.html
Dong0129: 請問map的功能是什麼呢? 04/17 15:17
Conjuror: 以這裡的用法跟 zip 有點像,好處是可以處理不同長度的 04/17 17:07
Conjuror: list,它會自動幫少的那邊補 None 04/17 17:07
Conjuror: http://goo.gl/q4Vafj 找到中文的說明給你參考 04/17 17:09
bibo9901: 用 itertools.longest_zip 更方便 04/17 20:12
bibo9901: 不過用 shell 最快:$ paste -d ' ' file1 file2 04/17 20:12
bigpigbigpig: itertools zip_longest() 04/17 21:17
Dong0129: 找機會來研究一下...不過python在台灣算流行嗎?? 04/18 10:45
bibo9901: 在台灣流不流行不重要, 網路上資源很多, 社群也很多 04/18 13:49