Python按行輸出文件內容具體解釋及延伸


下面兩端測試代碼分別為筆者所寫,第一段為錯誤版本號。后者為正確版本號:

#! /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語句兩種方式執行結果對照圖



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM