python写文件追加并换行_用换行分隔将内容从一个文件追加到另一个文件

在尝试复制Linux shell的cat功能时,作者希望将两个文本文件合并,并在内容之间插入换行符。遇到的问题是,使用常见的Python技巧进行文件追加时,无法在内容间插入正确的换行。尝试了使用shutil.copyfileobj和' '来写入换行符,但未成功。最后通过使用os.linesep解决了问题,但对为何更优雅的解决方案未能工作感到困惑。
摘要由CSDN通过智能技术生成

我想,我正在尝试以一种不受平台限制的方式复制Linux shell的cat功能,这样我就可以用以下方式获取两个文本文件并合并它们的内容:

文件1包含:42 bottles of beer on the wall

文件包含:

^{pr2}$

合并文件应包含:42 bottles of beer on the wall

Beer is clearly the answer

然而,我读到的大多数技巧最终都会产生:42 bottles of beer on the wallBeer is clearly the answer

另一个问题是,我想要处理的实际文件是非常大的文本文件(FASTA格式的蛋白质序列文件),因此我认为大多数逐行读取的方法效率都很低。因此,我一直在尝试使用shutil找到一个解决方案,如下所示:def concatenate_fasta(file1, file2, newfile):

destination = open(newfile,'wb')

shutil.copyfileobj(open(file1,'rb'), destination)

destination.write('\n...\n')

shutil.copyfileobj(open(file2,'rb'), destination)

destination.close()

但是,这会产生与前面相同的问题,除了中间有“…”之外。显然,新线被忽略了,但我不知道如何正确地管理它。在

任何帮助都将不胜感激。在

编辑:

我尝试

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值