擅长:python、mysql、java
<p>代码中有几个问题。
1) devalabras函数通常不返回任何值。如果在函数中不返回任何内容,则这是默认值。你知道吗</p>
<p>2)if<code>str(nombreF)</code>不是检查它是否是字符串的正确方法。使用isinstance(nombreF,str)</p>
<p>3)稍后当函数返回-1时,您将遇到迭代问题。而是引发异常。你知道吗</p>
<p>4)简单地将行拆分为“”将导致最后一个单词以换行符结尾。剥去这个换行符。你知道吗</p>
<p>我相信这就是你想要的:</p>
<pre><code>def devPalabras(nombreF):
"""Receive a file and returns each word in the file
syntax: palabra.devPalabras(<fichero.txt>)"""
file=open(nombreF,'r')
data = file.readlines()
contador = 0
for renglon in data:
for palabra in renglon.split(' '):
contador+=1
yield palabra.strip()
palabras = [] #Create a empty list of words
for palabra in devPalabras("palabras.txt"):
palabras.append(palabra)
</code></pre>