国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python學習筆記:open()函數打開文件注意事項

2019-11-06 07:35:30
字體:
來源:轉載
供稿:網友

要以讀文件的模式打開一個文件對象,使用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' 仿佛沒有什么不對的地方,一模一樣的嘛!再仔細看,斜杠的方向不一樣,為什么會出現這樣的情況呢,原因在于我們從系統中直接復制文件所在路徑所致。

這就引出了轉義字符的概念,需要在字符中使用特殊字符時,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+ 以二進制格式打開一個文件用于追加。如果該文件已存在,文件指針將會放在文件的結尾。如果該文件不存在,創建新文件用于讀寫。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 仲巴县| 禄丰县| 通河县| 绥阳县| 庆云县| 年辖:市辖区| 郁南县| 乌恰县| 泰州市| 施甸县| 左权县| 军事| 满城县| 三都| 平泉县| 泗洪县| 隆子县| 江津市| 南溪县| 白朗县| 晋城| 西畴县| 资源县| 米脂县| 随州市| 崇阳县| 水富县| 天峻县| 南靖县| 姚安县| 洛阳市| 天长市| 云龙县| 昭通市| 将乐县| 九龙坡区| 巩义市| 皮山县| 嘉禾县| 淮南市| 陆丰市|