作者Conjuror (阿纠)
看板Python
标题Re: [问题] File1内容跳一行再加File2内容
时间Fri Apr 17 14:48:35 2015
※ 引述《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://webptt.com/cn.aspx?n=bbs/Python/M.1429253322.A.0A7.html
1F:推 Dong0129: 请问map的功能是什麽呢? 04/17 15:17
3F:→ Conjuror: 以这里的用法跟 zip 有点像,好处是可以处理不同长度的 04/17 17:07
4F:→ Conjuror: list,它会自动帮少的那边补 None 04/17 17:07
6F:→ bibo9901: 用 itertools.longest_zip 更方便 04/17 20:12
7F:→ bibo9901: 不过用 shell 最快:$ paste -d ' ' file1 file2 04/17 20:12
8F:→ bigpigbigpig: itertools zip_longest() 04/17 21:17
9F:推 Dong0129: 找机会来研究一下...不过python在台湾算流行吗?? 04/18 10:45
10F:→ bibo9901: 在台湾流不流行不重要, 网路上资源很多, 社群也很多 04/18 13:49