擅长:python、mysql、java
<p>一些风格上的改变和一些修正让你更进一步,其中有几个已经被指出了。如果您运行的是Python 3,那么可以删除语句1(<strong>来自uuuu future_uuu</strong>等)。在第4行,您需要打开指定为“a+”的aantalworden,以便可以读取和追加文件。这将消除io.UnsupportdOperation异常。第4行还使用“with”语句打开两个文件,将其包含的块包装在“上下文管理器”中,该“上下文管理器”将在该块终止时自动关闭两个文件。对语句12进行了修改,以便在执行该语句时,在尝试将字符串与整数连接时不会出现异常。最后,语句12是使用python3print函数将输出写入file2的一种更简单的方法</p>
<p>至于你的程序逻辑,我不认为它符合你的意图</p>
<pre><code>from __future__ import print_function #1
def WordOnLine():
with open("tekstbestand.txt","r") as file, open("aantalwoorden","a+") as file2: #4
lineN = 0
for line in file:
sent = line.split()
lineN += 1
for word in sent:
if len(word) >= 4:
if word in file2:
word = word.replace(word,word+" " +str(lineN) + "\n") #12
else:
print(word, lineN, file=file2)
WrdOnLine()
</code></pre>