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

Python: How do I append (add a single character) to the end of the first line of a txt or phylip file

我有一个 phylip 文件,看起来像这样(只显示前 3 行):

           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

如您所见,最后添加了 I。

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'
  • 最后三行覆盖文件中的数据,您将获得所需的结果
# 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()