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()
我有一个 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()