Python Tk索引器错误:列表索引超出范围

Python Tk索引器错误:列表索引超出范围,python,tkinter,Python,Tkinter,好的,我正在使用python和tk编写一个程序。我需要它打开一个文件,读取一行,打印它,然后读取下一行并打印它。我首先使用: self.wordlist = tkFileDialog.askopenfile(mode='rb',title='Select a wordlist') 在代码的另一部分中,我有: num = 1 while True: line = self.wordlist.readlines()[num].strip() print line num =

好的,我正在使用python和tk编写一个程序。我需要它打开一个文件,读取一行,打印它,然后读取下一行并打印它。我首先使用:

self.wordlist = tkFileDialog.askopenfile(mode='rb',title='Select a wordlist')
在代码的另一部分中,我有:

num = 1
while True:
    line = self.wordlist.readlines()[num].strip()
    print line
    num = num + 1
当我运行此命令时,它返回:

Exception in Tkinter callback
Traceback (most recent call last):
  File "C:\Python27\lib\lib-tk\Tkinter.py", line 1532, in __call__
    return self.func(*args)
  File "C:\Users\Owner\Desktop\hashgui.py", line 109, in hashcrack_command
    line = self.wordlist.readlines()[num].strip()
IndexError: list index out of range

它打印第一行,但在第二行停止?为什么?

Python中的计数从
0开始,因此它应该是
num=0
。第一行位于
file.readlines()[0]

但是,这种方式看起来更好:

for line in self.wordlist:
    print line
不需要多次调用
readlines()
。它不会工作,因为在第一次调用之后,文件光标位于文件的末尾。