Python按行输出文件内容具体解释及延伸
下面兩端測(cè)試代碼分別為筆者所寫(xiě),第一段為錯(cuò)誤版本號(hào)。后者為正確版本號(hào):
#! /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中的異常處理語(yǔ)句
? ? filename = raw_input(‘please input filename:’) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??//讀取字符
? ? fobj = open(filename, ‘r’) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??//檢測(cè)操作語(yǔ)句
? ? for eachLine in fobj: ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??//循環(huán)輸出
? ? ? ? print(eachLine)
? ? fobj.close() ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//關(guān)閉對(duì)象句柄
except IOError as err:
? ? print(‘file open err:{0}’.format(err))
筆者自己的錯(cuò)誤:
習(xí)慣性的覺(jué)得,創(chuàng)建了文件之后,就能夠直接讀取當(dāng)中的數(shù)據(jù)。可是須要先檢測(cè)文件是否存在,須要用到內(nèi)建open()函數(shù)。
關(guān)于內(nèi)建函數(shù)open():
handle = open(file_name,access_mode=’r’)
file_name 變量包括我們希望打開(kāi)的文件的字符串名字。access_mode表示打開(kāi)文件的方式,打開(kāi)方式如表1,假設(shè)open成功。一個(gè)文件對(duì)象句柄會(huì)被返回。
全部興許文件操作都必須通過(guò)此文件句柄進(jìn)行。當(dāng)一個(gè)文件對(duì)象返回之后,我們就能夠訪問(wèn)它的一些方法,eg. readlines(),close()。
? ? ? ? ?表1. 文件打開(kāi)模式
| a | 追加模式打開(kāi) |
| w | 寫(xiě)模式打開(kāi) |
| r | 讀模式打開(kāi) |
| a+ | 讀寫(xiě)模式打開(kāi) |
| w+ | 讀寫(xiě)模式打開(kāi) |
| r+ | 讀寫(xiě)模式打開(kāi) |
| ab | 二進(jìn)制追加模式打開(kāi) |
| wb | 二進(jìn)制寫(xiě)模式打開(kāi) |
| rb | 二進(jìn)制讀模式打開(kāi) |
| ab+ | 二進(jìn)制讀寫(xiě)模式打開(kāi) |
| wb+ | 二進(jìn)制讀寫(xiě)模式打開(kāi) |
| rb+ | 二進(jìn)制讀寫(xiě)模式打開(kāi) |
Tips:
代碼中一個(gè)有趣的語(yǔ)句。即print(eachLine)。
此語(yǔ)句中能夠通過(guò)在末尾加入逗號(hào)的方式,抑制自己主動(dòng)生成的換行符號(hào),由于在文件里自帶換行字符。假設(shè)我們不抑制print語(yǔ)句產(chǎn)生的換行符號(hào)。就會(huì)有額外的空行產(chǎn)生。
兩種方式的執(zhí)行結(jié)果對(duì)照?qǐng)D如圖1。
圖1.print語(yǔ)句兩種方式執(zhí)行結(jié)果對(duì)照?qǐng)D
總結(jié)
以上是生活随笔為你收集整理的Python按行输出文件内容具体解释及延伸的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: opencv+python机读卡识别(四
- 下一篇: zhlan--Python中的字典遍历方