您好,登錄后才能下訂單哦!
要以讀文件的模式打開一個文件對象,使用Python內置的open()函數,傳入文件名和標示符,標示符'r'表示讀。
>>> f = open('D:/test.txt','r')
注意了,對初學python的同學而言,open()函數著實存在一個不大不小的坑,而且十分不容易發現。
錯誤演示:
>>> 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'
仿佛沒有什么不對的地方,一模一樣的嘛!再仔細看,斜杠的方向不一樣,為什么會出現這樣的情況呢,原因在于我們從系統中直接復制文件所在路徑所致,Windows系統文件路徑中的斜線符號為'\'。
這就引出了轉義字符的概念,需要在字符中使用特殊字符時,python用反斜杠'\'轉義字符,所以錯誤案例中的'\'被用作轉義,導致解釋器解釋文件路徑錯誤。
改正的方法有兩種:第一、將'\'的方向反向為'/',即文首正確的寫法;第二、在含有轉義符的字符串前加‘r'表示字符串內按原始含義解釋,不做轉義處理。(推薦!)
>>> f = open(r'D:\test.txt','r')
另附:
轉義字符表
轉義字符 |
描述 |
\(在行尾時) |
續行符 |
\\ |
反斜杠符號 |
\' |
單引號 |
\" |
雙引號 |
\a |
響鈴 |
\b |
退格(Backspace) |
\e |
轉義 |
\000 |
空 |
\n |
換行 |
\v |
縱向制表符 |
\t |
橫向制表符 |
\r |
回車 |
\f |
換頁 |
\oyy |
八進制數,yy代表的字符,例如:\o12代表換行 |
\xyy |
十六進制數,yy代表的字符,例如:\x0a代表換行 |
\other |
其它的字符以普通格式輸出 |
open()函數標識符表
r 以只讀方式打開文件。文件的指針將會放在文件的開頭。這是默認模式。
rb 以二進制格式打開一個文件用于只讀。文件指針將會放在文件的開頭。這是默認模式。
r+ 打開一個文件用于讀寫。文件指針將會放在文件的開頭。
rb+ 以二進制格式打開一個文件用于讀寫。文件指針將會放在文件的開頭。
w 打開一個文件只用于寫入。如果該文件已存在則將其覆蓋。如果該文件不存在,創建新文件。
wb 以二進制格式打開一個文件只用于寫入。如果該文件已存在則將其覆蓋。如果該文件不存在,創建新文件。
w+ 打開一個文件用于讀寫。如果該文件已存在則將其覆蓋。如果該文件不存在,創建新文件。
wb+ 以二進制格式打開一個文件用于讀寫。如果該文件已存在則將其覆蓋。如果該文件不存在,創建新文件。
a 打開一個文件用于追加。如果該文件已存在,文件指針將會放在文件的結尾。也就是說,新的內容將會被寫入到已有內容之后。如果該文件不存在,創建新文件進行寫入。
ab 以二進制格式打開一個文件用于追加。如果該文件已存在,文件指針將會放在文件的結尾。也就是說,新的內容將會被寫入到已有內容之后。如果該文件不存在,創建新文件進行寫入。
a+ 打開一個文件用于讀寫。如果該文件已存在,文件指針將會放在文件的結尾。文件打開時會是追加模式。如果該文件不存在,創建新文件用于讀寫。
ab+ 以二進制格式打開一個文件用于追加。如果該文件已存在,文件指針將會放在文件的結尾。如果該文件不存在,創建新文件用于讀寫。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。