要以讀文件的模式打開(kāi)一個(gè)文件對(duì)象,使用Python內(nèi)置的open()函數(shù),傳入文件名和標(biāo)示符,標(biāo)示符'r'表示讀。
>>> f = open('D:/test.txt','r') 注意了,對(duì)初學(xué)python的同學(xué)而言,open()函數(shù)著實(shí)存在一個(gè)不大不小的坑,而且十分不容易發(fā)現(xiàn)。
錯(cuò)誤演示:
>>> f = open('D:/test.txt','r') Traceback (most recent call last): File"<ipython-input-56-6a0acaf613c9>", line 1, in <module> f =open('D:/test.txt','r') OSError: [Errno 22] Invalid argument: 'D:/test.txt' 仿佛沒(méi)有什么不對(duì)的地方,一模一樣的嘛!再仔細(xì)看,斜杠的方向不一樣,為什么會(huì)出現(xiàn)這樣的情況呢,原因在于我們從系統(tǒng)中直接復(fù)制文件所在路徑所致,Windows系統(tǒng)文件路徑中的斜線符號(hào)為'/'。

這就引出了轉(zhuǎn)義字符的概念,需要在字符中使用特殊字符時(shí),python用反斜杠'/'轉(zhuǎn)義字符,所以錯(cuò)誤案例中的'/'被用作轉(zhuǎn)義,導(dǎo)致解釋器解釋文件路徑錯(cuò)誤。
改正的方法有兩種:第一、將'/'的方向反向?yàn)?#39;/',即文首正確的寫(xiě)法;第二、在含有轉(zhuǎn)義符的字符串前加‘r'表示字符串內(nèi)按原始含義解釋,不做轉(zhuǎn)義處理。(推薦!)
>>> f = open(r'D:/test.txt','r')
另附:
轉(zhuǎn)義字符表
| 轉(zhuǎn)義字符 | 描述 |
| /(在行尾時(shí)) | 續(xù)行符 |
| // | 反斜杠符號(hào) |
| /' | 單引號(hào) |
| /" | 雙引號(hào) |
| /a | 響鈴 |
| /b | 退格(Backspace) |
| /e | 轉(zhuǎn)義 |
| /000 | 空 |
| /n | 換行 |
| /v | 縱向制表符 |
| /t | 橫向制表符 |
| /r | 回車 |
| /f | 換頁(yè) |
| /oyy | 八進(jìn)制數(shù),yy代表的字符,例如:/o12代表?yè)Q行 |
| /xyy | 十六進(jìn)制數(shù),yy代表的字符,例如:/x0a代表?yè)Q行 |
| /other | 其它的字符以普通格式輸出 |
open()函數(shù)標(biāo)識(shí)符表
r 以只讀方式打開(kāi)文件。文件的指針將會(huì)放在文件的開(kāi)頭。這是默認(rèn)模式。
rb 以二進(jìn)制格式打開(kāi)一個(gè)文件用于只讀。文件指針將會(huì)放在文件的開(kāi)頭。這是默認(rèn)模式。
r+ 打開(kāi)一個(gè)文件用于讀寫(xiě)。文件指針將會(huì)放在文件的開(kāi)頭。
rb+ 以二進(jìn)制格式打開(kāi)一個(gè)文件用于讀寫(xiě)。文件指針將會(huì)放在文件的開(kāi)頭。
w 打開(kāi)一個(gè)文件只用于寫(xiě)入。如果該文件已存在則將其覆蓋。如果該文件不存在,創(chuàng)建新文件。
wb 以二進(jìn)制格式打開(kāi)一個(gè)文件只用于寫(xiě)入。如果該文件已存在則將其覆蓋。如果該文件不存在,創(chuàng)建新文件。
w+ 打開(kāi)一個(gè)文件用于讀寫(xiě)。如果該文件已存在則將其覆蓋。如果該文件不存在,創(chuàng)建新文件。
wb+ 以二進(jìn)制格式打開(kāi)一個(gè)文件用于讀寫(xiě)。如果該文件已存在則將其覆蓋。如果該文件不存在,創(chuàng)建新文件。
a 打開(kāi)一個(gè)文件用于追加。如果該文件已存在,文件指針將會(huì)放在文件的結(jié)尾。也就是說(shuō),新的內(nèi)容將會(huì)被寫(xiě)入到已有內(nèi)容之后。如果該文件不存在,創(chuàng)建新文件進(jìn)行寫(xiě)入。
ab 以二進(jìn)制格式打開(kāi)一個(gè)文件用于追加。如果該文件已存在,文件指針將會(huì)放在文件的結(jié)尾。也就是說(shuō),新的內(nèi)容將會(huì)被寫(xiě)入到已有內(nèi)容之后。如果該文件不存在,創(chuàng)建新文件進(jìn)行寫(xiě)入。
a+ 打開(kāi)一個(gè)文件用于讀寫(xiě)。如果該文件已存在,文件指針將會(huì)放在文件的結(jié)尾。文件打開(kāi)時(shí)會(huì)是追加模式。如果該文件不存在,創(chuàng)建新文件用于讀寫(xiě)。
ab+ 以二進(jìn)制格式打開(kāi)一個(gè)文件用于追加。如果該文件已存在,文件指針將會(huì)放在文件的結(jié)尾。如果該文件不存在,創(chuàng)建新文件用于讀寫(xiě)。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持VEVB武林網(wǎng)。
新聞熱點(diǎn)
疑難解答
圖片精選