結束此處的測試程式碼中作者寫的,第一段包含不正確的版本號,後者是正確的版本號:

#! /usr/bin/python2.7

try:

    filename = raw_input(‘please input filename:’)

for eachLine infilename:

         print(eachLine)

    eachLine.close()

except IOError as err:

    print(‘file open error: {0}’.format(err))

#! /usr/bin/python2.7

try:                                                                                                              //try....except--------為Python中的異常處理語句

    filename = raw_input(‘please input filename:’)                                 //讀取字元

    fobj = open(filename, ‘r’)                                                                     //檢測操作語句

    for eachLine in fobj:                                                                             //迴圈輸出

        print(eachLine)

    fobj.close()                                                                                            //關閉物件控制代碼

except IOError as err:

    print(‘file open err:{0}’.format(err))

筆者自己的錯誤:

習慣性的覺得,建立了檔案之後。就能夠直接讀取當中的資料,可是須要先檢測檔案是否存在。須要用到內建open()函式。

關於內建函式open():

handle = open(file_name,access_mode=’r’)

file_name 變數包括我們希望開啟的檔案的字串名字,access_mode表示開啟檔案的方式,開啟方式如表1,假設open成功。一個檔案物件控制代碼會被返回。全部興許檔案操作都必須通過此檔案控制代碼進行。當一個檔案物件返回之後。我們就能夠訪問它的一些方法,eg. readlines(),close()。

表1. 檔案開啟模式

a 追加模式開啟
w 寫模式開啟
r 讀模式開啟
a+ 讀寫模式開啟
w+ 讀寫模式開啟
r+ 讀寫模式開啟
ab 二進位制追加模式開啟
wb 二進位制寫模式開啟
rb 二進位制讀模式開啟
ab+ 二進位制讀寫模式開啟
wb+ 二進位制讀寫模式開啟
rb+ 二進位制讀寫模式開啟

Tips:

程式碼中一個有趣的語句,即print(eachLine)。此語句中能夠通過在末尾加入逗號的方式,抑制自己主動生成的換行符號。由於在檔案裡自帶換行字元,假設我們不抑制print語句產生的換行符號,就會有額外的空行產生。兩種方式的執行結果對照圖如圖1。

圖1.print語句兩種方式執行結果對照圖

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd29vZHk4OTE=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">