<p>你的代码还可以,但是你应该注意一些事情</p>
<p>首先是包含字符的txt文件</p>
<p>在操作系统中,如果转到下一行,每一行都以\n结尾</p>
<p>但是这里没有任何新行字符,因为它是一行</p>
<p>第二<code>re.split</code>根据您给出的模式创建一个字符列表,这样您就可以给它一个</p>
<p>包含空格字符的模式,因此字符串将在空格上拆分</p>
<p>并且输出列表将不包含空格!因此,有两种方法可以使代码正常工作</p>
<p><strong>选项1</strong></p>
<p>如果txt文件中的所有字符都在一行中</p>
<p>将每个空格替换为两个空格,以便在每个字符之间生成一个空字符串</p>
<p>像这样</p>
<p>txt文件</p>
<pre><code>Clustalo O(1.2.4) multiple sequence alignement
</code></pre>
<p>代码.py</p>
<p>进口稀土</p>
<pre><code>def openfile(name_file) :
with open(name_file, "r") as f :
l = re.split(' ',re.sub(' ',' ',f.read()))
for i in l :
print('i :', i)
</code></pre>
<p>输出</p>
<pre><code>i : Clustalo
i :
i : O(1.2.4)
i :
i : multiple
i :
i : sequence
i :
i : alignement
</code></pre>
<p><strong>选项2</strong></p>
<p>如果你的txt文件是这样的</p>
<pre><code>Clustalo
O(1.2.4)
multiple
sequence
alignement
</code></pre>
<p>将每个\n字符替换为两个空格(注意:不要在每个字符后面加空格,或将替换字符改为一个空格)</p>
<p>代码.py</p>
<pre><code>import re
def openfile(name_file) :
with open(name_file, "r") as f :
l = re.split(' ',re.sub('\n',' ',f.read()))
for i in l :
print('i :', i)
</code></pre>
<p>输出</p>
<pre><code>i : Clustalo
i :
i : O(1.2.4)
i :
i : multiple
i :
i : sequence
i :
i : alignement
</code></pre>