# 如何對迭代器做切片操作
# 有某個文字檔案,我們想讀取其中某範圍的內容如100~300行之間的的內容,python中文字切片的方式得到乙個100-300行檔案內容的生成器?
# f=open('/var/log/dmesg')
# f[100:300] 可以嗎?
from itertools import islice
def main():
# f = open('text.txt','w+')
# for x in range(1000000):
# f.write(str(x))
# f[100:300]
# f.close()
# 從多少行到多少行
with open('text.txt') as f:
print(islice(f, 100, 300))
for line in islice(f, 0, 300):
print(line,)
for line in islice(f, 0, none):
print(line, )
# lines=f.read()
# 會把檔案匯入記憶體中 一次性的讀入可能是乙個災難
# print(lines[100:300])
# 指標跑到第一位
# f.seek(0)
# print()
# for line in f:
# print(line)
# islice會消耗原來的物件
l=list(range(20))
t=iter(l)
print(t)
for x in islice(t,5,10):
print(x)
for x in t:
print(x)
pass
main()
慕課網python學習筆記 2 迭代物件
3.實現迭代器與可迭代物件 1.迭代器 iterator是乙個表示資料流的物件。重複呼叫迭代器的 next 方法 或將迭代器傳遞給內建函式next 將返回資料流中的連續項。當沒有資料可訪問時,將會引發乙個stopiteration異常。這個時候,迭代器物件已耗盡,後續任何對 next 方法的進一步呼...
python迭代 如何對迭代器做切片操作
問題舉例 讀取某個檔案內容的100 300行內容,我們是否可以使用 類似列表切片的方式得到乙個100 300行檔案內容的生成器 列表的切片操作其實是在過載方法 getitem 方法 可以通過file.readlines 後再做切片,記憶體會載入整個檔案到記憶體,如果檔案太大,會浪費記憶體空間 使用i...
python迭代 如何對迭代器做切片操作
問題舉例 讀取某個檔案內容的100 300行內容,我們是否可以使用 類似列表切片的方式得到乙個100 300行檔案內容的生成器 列表的切片操作其實是在過載方法 getitem 方法 可以通過file.readlines 後再做切片,記憶體會載入整個檔案到記憶體,如果檔案太大,會浪費記憶體空間 使用i...