1. 程式人生 > >python中的檔案迭代操作

python中的檔案迭代操作

檔案的迭代相當於對檔案中的內容進行遍歷和操作:
1.用read方法,每次讀取一定量的位元組數,對讀到的位元組數進行process: 兩種方法遍歷:
(1)

f = open(filename)
  char = f.read(1)
  while char:
      process(char)
      char= f.read(1)
  f.close

f.read(1)每執行一次,指標就會移到下一個位置
(2)

f = open(filename)
  while True:
    char = f.read(1)
    if not char :break
    process
(char) f.close()

第二種方法避免了重複使用程式碼(char=f.read(1)),首選

2.按行進行迭代:

f = open(file)
while Ture:
    line = f.readline()
    if not line: break
    process(line)
f.close()

3.先讀取所有內容再進行迭代
(1)

f = open(filename)
  for char in f.read()
     process(char)
    f.close()

(2)

f = open(filename)
  for char
in f.read() process(char) f.close()

4.使用fileinput進行懶惰迭代

import fileinput
For line in fileinput(filename)
 process(line)

Readlines()和fileinput的區別在於前者先讀取檔案的所有行而後者是一行一行進行迭代讀
5.5. E.迭代檔案
eg1:for line in open(filename) //避免使用中間變數,由python自己完成檔案的開啟和關閉,如果僅僅是讀操作,那麼就可以不用close操作
eg2: line = list(open(filename)) 將檔案的所有行存在list中

相關推薦

python檔案操作

檔案的迭代相當於對檔案中的內容進行遍歷和操作: 1.用read方法,每次讀取一定量的位元組數,對讀到的位元組數進行process: 兩種方法遍歷: (1) f = open(filename) char = f.read(1) while char

讀書筆記——Python器和列表解析

Python所謂的迭代協議 有__next__方法的物件會前進到下一個結果,在一系列結果的末尾時,則會引發StopIteration。在Python中,任何這類物件都認為是可迭代的。任何這類物件也能以for迴圈或其他迭代工具遍歷,因為所有迭代工具內部工作起來都是在每次迭代中呼叫__next__,

Python器以及yield用法

一、迭代器 1、什麼是迭代器(iter) ​ 迭代器是Python中的容器類的資料型別,可以同時儲存多個數據,取迭代器中的資料只能一個一個地取,而且取出來的資料在迭代器中就不存在了 2、迭代器中資料的來源 a.將其他序列轉換成迭代器 b.使用生成式或者生成器去產

Python器與生成器

Python中的迭代器與生成器介紹 一、迭代器iterator 迭代器是訪問可迭代物件的工具。 迭代器是指用iter(obj)函式返回的物件 迭代器是可以用next(it)函式獲取可迭代物件的資料 1、迭代器函式 iter()與next()

Python

Python 中的迭代器 Python 3中的迭代器 容器與迭代器 在Python 3中,支援迭代器的容器,只要支援__iter__()方法獲取一個迭代器物件既可。 我們來看幾個例子. 列表迭代器 首先是列表: >>> a = [1,2,3,4] >>> a

python關於器和生成器的名詞解釋(python3)

迭代器協議:對有__next__方法的物件(迭代器物件)自動呼叫__next__方法,直到結尾引發stopIteration. 迭代工具:迭代工具按迭代協議處理迭代器 常見的工具有 for, list(), tuple(), str.join(), in map, sorted, zip, enumera

Python

目錄 迭代 迭代器 迭代 如果給定一個 list列表 或 tuple元組 ,我們可以通過 for 迴圈來遍歷這個 list 或 tuple ,這種遍歷我們稱為迭代(Iteration),當我們使用 for 迴圈時,只要作用於一個可迭代物件,for迴圈就可以

python

迭代是訪問集合元素的一種方式。迭代器是一個可以記住遍歷的位置的物件。迭代器物件從集合的第一個元素開始訪問,直到所有的元素被訪問完結束。迭代器只能往前不會後退。 1. 可迭代物件 以直接作用於 for

Python器iterator和yield生成器(constructor)

什麼叫迭代器和可迭代物件? 一、可迭代物件(Iterable) 可以直接作用於for迴圈的物件統稱為可迭代物件(Iterable)。 所有的Iterable均可以通過內建函式iter()來轉變為Iterator。 然後使用它的next()方法呼叫,直

python器和生成器(精華)

參考: 1、http://www.runoob.com/python3/python3-iterator-generator.html(菜鳥教程,最好理解) 1、https://anandology.com/python-practice-book/iterators.html#iterto

Python如何(遍歷)list、dict

本篇部落格介紹Python中list、dict的迭代方法(遍歷方法),即在for迴圈中使用list、dict的方法。 1. list的迭代 1.1 普通迭代 #!/usr/bin/env python def test_list(): number

Pythoniteration()、iterator(器)、generator(生成器)等相關概念的理解

在閱讀Python tutorial類這一章的時候出現了iterator的概念,我是一個是程式設計的半吊子,雖然在其它語言(比如Java和C++)中也聽過這個概念,但是一直沒認真的去理解,這次我參考了一些文章,總結了一些我的看法。 首先,我在理解相關的概念的時

Python物件和器物件的理解

Iamlaosong文 我們在用for ... in ...語句迴圈時,in後面跟隨的物件要求是可迭代物件,即可以直接作用於for迴圈的物件統稱為可迭代物件(Iterable),如list、tuple

更深入理解 Python

(點選上方公眾號,可快速關注)編譯: linux中國 / MjSeven  英文: Trey H

python檔案的基本操作

檔案的儲存方式 計算機中,檔案是以二進位制的方式儲存的 文字檔案就是可以使用文字編輯器檢視,二進位制檔案無法使用文字編輯器檢視,是提供給其他軟體使用的,例如圖片,音視訊等 操作檔案的套路 1、開啟檔案open open函式負責開啟檔案, 並返回檔案

Python物件、器以及iter()函式的兩個用法詳解

在Python中,有這兩個概念容易讓人混淆。第一個是可迭代物件(Iterable),第二個是迭代器(Iterator),第三個是生成器(Generator),這裡暫且不談生成器。 可迭代物件 列表、元組、字串、字典等都是可迭代物件,可以使用for迴圈遍歷出所有元素的都可以稱為可迭代物件(Iterable)。在

Python檔案路徑名的操作

1 檔案路徑名操作   對於檔案路徑名的操作在程式設計中是必不可少的,比如說,有時候要列舉一個路徑下的檔案,那麼首先就要獲取一個路徑,再就是路徑名的一個拼接問題,通過字串的拼接就可以得到一個路徑名。Python中3.4版本前使用os.path模組中的函式來操作路徑名;3.4版本開始提供pathlib模組,使用

python器和生成器

在我們學習迭代器和生成器之前的時候,我們要先搞清楚幾個概念: 「迭代協議:」 有__next__方法會前進道下一個結果,而且在一系列結果的末尾時,會引發StopIteration異常的物件.「可迭代物件:」 實現了__iter__方法的物件「迭代器:」 實現了__iter__和__next__方法的物件「生

python檔案及其操作(File)

檔案是用於資料儲存的單位 檔案通常用於長期儲存資料 檔案中是以位元組為單位順序儲存資料的 檔案的操作流程 開啟檔案 讀/寫檔案 關閉檔案   注:        任何的作

python檔案的讀和寫操作

一、開啟檔案 data = open("yesterday",encoding="utf-8").read() # python預設的打字元編碼是unicode,處理不了gbk,但是utf—8可以 print(data) ps:這邊的yesterday檔案是一首英文歌的歌詞