尝试从文件中获取随机行,获取TypeError

时间:2014-06-22 19:17:10

标签: python typeerror

我正在研究一个需要从文本文件中读取随机行的python项目,所以我尝试将一个随机数的变量插入到python中的[。]。strip()函数中 并得到错误:TypeError: 'int' object has no attribute '__getitem__' 这是代码:

rand = random.randrange(0, 10)
file = open("file.txt", "r")
line1 = lines[rand].strip()

1 个答案:

答案 0 :(得分:0)

看起来您没有正确读取文件,并且您的lines变量是一个整数。向我们展示更多代码会有所帮助。从文件中获取特定行可以通过多种方式完成。这是一些演示:

在你想要的行之前读取行:

with open('file.txt') as f:
    for num, line in enumerate(f):
        if num == some_number:
            print(line)
            break

或读取整个文件,拆分行并按特定索引访问您的行。如果您的文件很大而且只需要一行,则不建议使用此方法。

with open('file.txt') as f:
    data = f.readlines() 
    print(data[some_number])

最后,您可以使用linecache

import linecache
line = linecache.getline('file.txt', some_number)
print(line)