結束此處的測試程式碼中作者寫的,第一段包含不正確的版本號,後者是正確的版本號:
#! /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="">