利用Python实现“全部替换”功能

本文介绍了一个Python函数replace_all(),该函数用于读取文件中的文本,将指定的字符串全部替换并保存到新文件中。例如,在生物信息学场景中,通过CRISPR-Cas9技术修改基因序列后,可以使用此函数更新fasta文件中的序列信息。
摘要由CSDN通过智能技术生成

  本文编写了一个函数replace_all(),该函数有三个参数,file_name、be_replaced和new,分别对应着传入的文件,要替换的字符串,替换后的字符串。该函数可以将原文本中被替换掉的字符串全部变成替换后的新字符串,并保存到一个新的文本中,简言之,就是Word的全部替换。

  比如,利用CRISPR-Cas9改变目标基因时,我想知道剪切后的序列信息,就可以将保存着原始序列信息的fasta文件,剪切掉的序列,替换上的序列依次输入,得到命名为’replaced.fasta’的结果文件。

def replace_all(file_name,be_relaced,new):
    f_read=open(file_name,'r')
    seq=0
    count=0
    content=[]
    for each_line in f_read:
        if each_line[:1]=='>':
            seq+=1
            content.append(each_line)
        else:
            if be_relaced in each_line:
                count+=each_line.count(be_relaced)
                each_line=each_line.replace(be_relaced,new)
                content.append(each_line)
    decide=input(f"There are {
     seq} sequences and {
     count} {
     be_relaced},do you want to replace all to {
     new}?\n"
                 f"[Yes/No]:")
    if decide in ['Yes','yes','YES']:
        f_write=open('replaced.fasta','w')
        f_write.writelines(content)
        f_write.close()
    f_read.close()
file_name=input("Please enter the file name:")
be_replaced=input("Ple
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值