擅长:python、mysql、java
<p>这应该行得通。问题在于你的if语句。正如您迭代一次文件一样,文件指针位于末尾(我认为),因此它不会返回。下面的代码一次遍历一行,并将字符串与4个字符的序列进行比较,注意<code>.strip()</code>会在文件遍历时删除<code>\n</code>变量中的尾随<code>\n</code>和<code>\r</code>字符</p>
<p>通常,在打开文件时,最好使用<code>with open(filename, mode) as var:</code>,如下所示,这样可以在文件完成后立即关闭文件,并消除未关闭文件句柄的风险</p>
<p>基于原始代码的假设是<code>DNA SEQUENCE FILE.txt</code>文件是这样组织的:</p>
<pre><code>AGAT
AATG
...
</code></pre>
<pre><code>agat_Counter = 0
aatg_Counter= 0
tatc_Counter= 0
with open('DNA SEQUENCE FILE.txt', 'r') as DNAample:
for line in DNAsample:
strippedLine = line.strip()
if strippedLine == 'AGAT':
agat_Counter += 1
elif strippedLine == 'AATG':
aatg_Counter += 1
elif stripepdLine == 'TATC':
tatc_Counter += 1
print(agat_Counter)
print(aatg_Counter)
print(tatc_Counter)
</code></pre>