<p>我正在学习Python,并试图学习data.split()。我在另一个StackOverflow问题(<a href="https://stackoverflow.com/questions/4706499/how-do-you-<a href="https://www.cnpython.com/list/append" class="inner-link">append</a>-to-file-in-python">link here</a>)中发现了以下内容,讨论如何在Python中追加文件。</p>
<p>我已经根据上面的链接创建了biki.txt。这是我的代码:</p>
<pre><code>import re
import os
import sys
with open("biki.txt","r") as myfile:
mydata = myfile.read()
data = mydata.replace("http","%http")
for m in range (1,1000):
dat1 = data.split("%")[m]
f = open ("new.txt", "a")
f.write(dat1)
f.close()
</code></pre>
<p>但是当我运行上面的代码时,我得到了一个错误:</p>
<pre><code>dat1 = data.split("%")[m]
IndexError: list index out of range
</code></pre>
<p>怎么会这样?我找不到关于它做什么的文档,但是删除它并不能解决这个问题。(如果删除[m],则错误会更改,并指出f.write(dat1)必须是字符串或只读字符缓冲区(?)。</p>
<p>谢谢你的帮助和建议!</p>
<p>您只需遍历<code>data.split()</code>:</p>
<pre><code> for dat1 in data.split("%"):
</code></pre>
<p>现在只拆分一次(而不是每次迭代),它不必包含1000多个项(这是<code>IndexError</code>的原因),并且它为<code>f.write()</code>提供一个字符串,而不是一个列表(另一个错误的源)。</p>