Python文件的基本操做

1、任務描述

  本實驗任務主要對Python文件進行一些基本操做,經過完成本實驗任務,要求學生熟練掌握Python文件的操做,並對Python文件的基本操做進行整理並填寫工做任務報告。緩存

2、任務目標

一、掌握Python文件的基本操做函數

3、任務環境

Ubuntu16.0四、Python2.7編碼

4、任務分析

  在磁盤上讀寫文件的功能都是由操做系統提供的,現代操做系統不容許普通的程序直接操做磁盤,因此,讀寫文件就是請求操做系統打開一個文件對象(一般稱爲文件描述符),而後,經過操做系統提供的接口從這個文件對象中讀取數據(讀文件),或者把數據寫入這個文件對象(寫文件)。spa

 

 ♥ 舒適提示
以b方式打開時,讀取到的內容是字節類型,寫入時也須要提供字節類型,不能指定編碼。

5、任務實施

步驟一、環境準備操作系統

  右擊Ubuntu操做系統桌面,從彈出菜單中選擇【Open in Terminal】命令 打開終端。對象

  經過【cd /home】切換到home目錄下。【ls】查看該目錄下的全部內容。接口

圖1 切換目錄

  【mkdir file】在home目錄下建立file文件夾。內存

圖2 建立文件夾

步驟二、輸入輸出ci

  打印到屏幕,最簡單的輸出方法是用print語句,你能夠給它傳遞零個或多個用逗號隔開的表達式字符串

圖3 輸出語句

  raw_input([prompt]) 函數從標準輸入讀取一個行,並返回一個字符串(去掉結尾的換行符)

  回車後在請輸入:後添加Hello World

圖4 輸入語句

  input([prompt]) 函數和 raw_input([prompt]) 函數基本相似,可是 input 能夠接收一個Python表達式做爲輸入,並將運算結果返回。

圖5 輸入語句

步驟三、文件模式

  打開文件的模式有:

  r,只讀模式(默認)。

  w,只寫模式。【不可讀;不存在則建立;存在則刪除內容;】

  a,追加模式。【可讀; 不存在則建立;存在則只追加內容;】

  打開文件。

圖6 打開文件

  讀文件。

圖7 讀文件

  寫文件。使用w時事實上是建立了一個新文件,若是源文件存在,會覆蓋。

圖8 寫文件

  重啓終端執行【cat /home/soft/file/file2.txt】查看添加的信息

圖9 查看添加信息

  追加文件。

圖10 追加文件

  重啓終端執行【cat /home/soft/file/file2.txt】查看追加的信息

圖11 查看追加信息

步驟四、文件對象

  【readline()】讀取的是文件的單行。

  【close()】關閉文件

  使用for循環讀取3行。空格佔一行。

圖12 讀取單行

  【readlines()】會讀取文件所有行,每行做爲一個元素造成一個列表。readlines()由於會一會兒把文件所有讀取到內存,因此只適合讀小文件。

圖13 讀取全行

  【print f.tell()】讀取光標所在位置

圖14 讀取光標位置

  【f.seek(0) 】使光標回到原點

圖15 光標迴歸原點

  【f.fileno】得到文件描述符,是一個數字

圖16 文件描述符

  【f.name】得到文件的名字

圖17 文件名字

  【f.flush()】 刷新輸出緩存

  說明:寫入的內容是存放在電腦的緩存中的,只有flush了一下,纔會保存到硬盤中去。

  剛寫完一行內容,若是斷電,他就沒有寫進去,斷電內存中數據就會丟失。若是沒有斷電,數據還在內存的緩存中,須要刷新一下,才能寫到硬盤中。

  內存有一個大小限制,須要達到這個大小,纔會把內存緩存中的內容寫到硬盤中。

圖18 刷新

  重啓終端執行【cat /home/soft/file/file4.txt】查看截取的信息

圖19 截取信息

  打印進度條的小方法

  【sys.stdout.write(「#」)】 sys.stdout方法在同一行打印

  【sys.stdout.flush()】 每打印一個#符號寫入一次

  【time.sleep(0.3)】 每打印一次隔0.3秒

圖20 打印進度條

  truncate() 截斷文件,能夠清空文件。

  【f.truncate(10)】 保留文件前10個字符,其他截斷

圖21 截斷文件
相關文章
相關標籤/搜索