我正在研究一个需要从文本文件中读取随机行的python项目,所以我尝试将一个随机数的变量插入到python中的[。]。strip()函数中
并得到错误:TypeError: 'int' object has no attribute '__getitem__'
这是代码:
rand = random.randrange(0, 10)
file = open("file.txt", "r")
line1 = lines[rand].strip()
答案 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)