国产探花免费观看_亚洲丰满少妇自慰呻吟_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+ 以二進制格式打開一個文件用于追加。如果該文件已存在,文件指針將會放在文件的結尾。如果該文件不存在,創建新文件用于讀寫。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 阆中市| 饶阳县| 靖宇县| 工布江达县| 耿马| 个旧市| 清原| 阿克| 望江县| 同心县| 翁牛特旗| 昭平县| 六枝特区| 大庆市| 苏州市| 文登市| 广饶县| 黄梅县| 伊金霍洛旗| 合阳县| 会泽县| 鄂州市| 达拉特旗| 张家港市| 秦皇岛市| 大邑县| 赤城县| 台前县| 佳木斯市| 张家川| 岚皋县| 福泉市| 五峰| 东兴市| 乡城县| 贵德县| 义乌市| 康乐县| 辉南县| 佛山市| 疏勒县|