【发布时间】:2015-12-26 21:38:49
【问题描述】:
我有这个功能,它只是打开一个文本文件并读取行:
def select_word(model):
lines = model.read().splitlines()
selectedline = random.choice(lines)
return [selectedline.split(":")[0],selectedline.split(":")[1]]
当我只为一个调用这个函数时,没有问题。但是当我不止一次调用它时:
print select_word(a)
print select_word(a)
print select_word(a)
print select_word(a)
print select_word(a)
我收到了这个错误:
Traceback (most recent call last):
File "wordselect.py", line 58, in <module>
print select_word("noun")
File "wordselect.py", line 19, in select_word
selectedline = random.choice(lines)
File "/usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/lib/python2.7/random.py", line 275, in choice
return seq[int(self.random() * len(seq))] # raises IndexError if seq is empty
IndexError: list index out of range
这个函数有什么问题?
【问题讨论】:
-
你的函数没有打开任何文件..
-
不打开,我在另一个地方定义了这个模型。一次通话即可使用
-
你应该在你的函数中打开你的文件......所以再次......你的函数没有打开任何文件!
-
什么是
ainprint select_word(a)BTW? -
那是机密...
标签: python