Python:如何在txt或phylip文件的第一行末尾附加(添加单个字符)

时间:2018-07-05 10:08:23

标签: python python-3.x append biopython

我有一个如下所示的phylip文件(仅显示前三行):

           6   39

 Archaeopt   CGATGCTTACCGCCGATGCT

 Hesperorni   CGTTACTCGTTGTCGTTACT

但是我想在整数39后面加上“ I”。我该如何处理? 我试过使用append,但是将其添加到文件末尾,这不是我想要的。 谢谢。 我希望它看起来像这样:

            6   39I

 Archaeopt   CGATGCTTACCGCCGATGCT

 Hesperorni   CGTTACTCGTTGTCGTTACT

这就是我所做的:

       aln = open(r"C:\Users\Idowu\Downloads\paml\ref.phy","a")
       aln.write("I")
       aln.close()

这就是结果:

6   39
Archaeopt   CGATGCTTAC CGCCGATGCT
Hesperorni   CGTTACTCGT TGTCGTTACT
Baluchithe   TAATGTTAAT TGTTAATGTT
B. virgini   TAATGTTCGT TGTTAATGTT
Brontosaur   CAAAACCCAT CATCAAAACC
B.subtilis   GGCAGCCAAT CACGGCAGCC

TACCGCCGAT GCTTACCGC
CGTTGTCGTT ACTCGTTGT
AATTGTTAAT GTTAATTGT
CGTTGTTAAT GTTCGTTGT
CATCATCAAA ACCCATCAT
AATCACGGCA GCCAATCACI

您会注意到,我是在末尾添加的。

2 个答案:

答案 0 :(得分:1)

# open the file
with open('testDataFile.txt', 'r') as original:
    # get all file content into a variable
    allLines = original.readlines()

# modify first line of the data
allLines[0] = allLines[0].rstrip() + "I\n"

# open the the same file in write mode
modifyFile = open('testDataFile.txt', 'w')

# Iterate all lines and write into the file
for i in allLines:
    modifyFile.write(i)
modifyFile.close()

答案 1 :(得分:0)

with open('1.txt') as f:
    data = f.readlines()


data1 = data[0].split('\n')
data1[0] = data1[0] + 'I'

data[0] = ''.join(data1[0]) + '\n'

with open('1.txt','w') as f:
    for i in data:
        f.write(i)
  • 前两行代码读取文件中的所有行,并以列表形式存储文件的每一行。
  • 接下来的三行代码获取文件的第一行,并在其后附加“ I”
  • 最后三行覆盖文件中的数据,您将获得所需的结果