f = open('CodingStyle.txt', 'r')
lines = f.readlines() # readlines方法会一次性的把整个文件读到内存当中,当文件过大时,有可能导致内存不足
# print(lines[100:300])
for line in f:
print(line) # 这里什么都不会输出,是因为文件指针已经回到了文件末尾处
f.seek(0) # 回到文件头部
for line in f:
print(line) # 这时才有结果
# -------------------------------------------------------------------------------------------------
from itertools import islice
l = islice(f, 100, 300) # 生成一个iterator:文件对象的100-300行
l2 = islice(f, 100, None) # 生成一个iterator:文件对象的100行到文件末尾
l3 = islice(f, 500) # 生成一个iterator:文件对象的前500行list,只传一个参数,默认为start=0,end=500
for line in l:
print(line)
# ---------------------------------------------------------------------------------------------
ln = range(20)
t = iter(ln)
for x in islice(t, 5, 10):
print(x) # 输出:5, 6, 7, 8, 9
print('-'*20)
for x in t:
print(x) # 此处再调用t,会继续往下迭代,输出:10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
print(list(ln)) # ln不变
网友评论