溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python文件操作方法詳解

發布時間:2020-10-13 22:47:15 來源:腳本之家 閱讀:203 作者:羅阿紅 欄目:開發技術

本節內容

1、文件常用操作匯總

2、打開文件

3、操作文件

4、關閉文件

一、文件常用操作匯總

Python文件操作方法詳解

二、打開文件

1、普通打開模式

  • r,英文:read,只讀模式(默認)
  • w,英文:write,只寫模式(不可讀,不存在則創建新文件,存在則刪除內容)
  • a,英文:append,追加模式(不可讀,不存在則創建,存在則只追加內容

2、同時讀寫模式

  • r+,可讀寫文件(可讀;可寫;可追加,不存在文件則報錯)
  • w+,可寫讀文件(可讀,可寫,創建新文件)
  • a+,可追加和讀文件(可讀,可追加,不存在則創建)

3、二進制打開模式

  • rb,二進制讀
  • wb,二進制寫
  • ab,二進制追加

三、操作文件 

文件內容:

Somehow, it seems the love I knew was always the most destructive kind
不知為何,我經歷的愛情總是最具毀滅性的的那種
Yesterday when I was young
昨日當我年少輕狂

 1、read()

當read()函數中傳入整數(int)參數,則讀取相應的字符數,如果不填寫,則默認讀取所有字符

f = open("yesterday2",'r',encoding="utf-8")
#默認讀取全部字符
print(f.read())
f.close()
#輸出
Somehow, it seems the love I knew was always the most destructive kind
不知為何,我經歷的愛情總是最具毀滅性的的那種
Yesterday when I was young
昨日當我年少輕狂
 
f = open("yesterday2",'r',encoding="utf-8")
#只讀取10個字符
print(f.read(10))
f.close()
#輸出
Somehow, i

注:只有當文件有讀權限時,才可以操作這個函數

2、獲取文件句柄所在的指針的位置tell()

獲取文件句柄所在的指針的位置

f = open("yesterday2",'r',encoding="utf-8")
print(f.read(10))
#獲取指針位置
print(f.tell())
f.close()
#輸出
Somehow, i #讀取的內容
10 #指針位置

 3、設置文件句柄所在的指針位置seek()

f = open("yesterday2",'r',encoding="utf-8")
print(f.read(10))
#設置之前的指針位置
print(f.tell())
f.seek(0)
#設置之后的指針位置
print(f.tell())
f.close()
#輸出
Somehow, i #讀取文件的內容
10 #設置之前的指針位置
0 #設置之后的指針位置

 4、打印文件的編碼encoding

f = open("yesterday2",'r',encoding="utf-8")
print(f.encoding)
f.close()
#輸出
utf-8

 5、fileno()

返回文件句柄在內存中的編號

f = open("yesterday2",'r',encoding="utf-8")
print(f.fileno())
f.close()
#輸出
3

 6、name

返回文件名

f = open("yesterday2",'r',encoding="utf-8")
print(f.name)
f.close()
#輸出
yesterday2

 7、isatty()

判斷是否是一個終端設備(比如:打印機之類的)

f = open("yesterday2",'r',encoding="utf-8")
print(f.isatty())
f.close()
#輸出
False #表示不是一個終端設備

 8、seekable()

 不是所有的文件都可以移動光標,比如tty文件,可以移動的,返回True

f = open("yesterday2",'r',encoding="utf-8")
print(f.seekable())
f.close()
#輸出
True

 9、readable()

文件是否可讀

f = open("yesterday2",'r',encoding="utf-8")
print(f.readable())
f.close()
#輸出
True

10、writeable()

文件是否可寫

f = open("yesterday2",'r',encoding="utf-8")
print(f.writable())
f.close()
#輸出
False #文件不可寫

11、flush()

寫數據時,寫的數據不想存內存中緩存中,而是直接存到磁盤上,需要強制刷新

>>> f = open("yesterday2","w",encoding="utf-8")
#這時'hello word'在緩存中
>>> f.write("hello word")
#強刷到磁盤上
>>> f.flush()

這個怎么實驗呢?在cmd命令行中,cd到你文件所在的路徑下,然后輸入python,在Python命令行中輸入上面代碼

①cd d:\PycharmProjects\pyhomework\day3下(因為我的被測文件在這個文件夾下)

Python文件操作方法詳解

②在這個目錄下輸入Python命令行,然后進行測試

Python文件操作方法詳解

③強制刷新之前

Python文件操作方法詳解

 ④執行強刷命令之后

 Python文件操作方法詳解

⑤強刷后文件中的內容變化

Python文件操作方法詳解

注:以寫的模式打開文件,寫完一行,默認它是寫到硬盤上去的,但是其實它不一定寫到硬盤上去了。當你剛寫完一行,如果此時斷電,有可能,你這行就沒有寫進去,因為這一樣還在內存的緩存中(內存中的緩存機制),所以你有不想存緩存,所以就要強制刷新。那一般在什么情況下用吶?比如:存錢

12、closed

判斷文件是否關閉

f = open("yesterday2","r",encoding="utf-8")
f.read()
print(f.closed)
#輸出
False

13、truncate(截取字符的數)

截取文件中的字符串,打開文件模式一定是追加模式(a),不能是寫(w)和讀(r)模式

#沒有指針
f = open("yesterday2","a",encoding="utf-8")
f.truncate(10)
f.close()
#截取結果
Somehow, i
 
#有指針
f = open("yesterday2","a",encoding="utf-8")
f.seek(5)
f.truncate(10)
f.close()
#截取結果
Somehow, i

 說明truncate截取文件中的字段,并不受指針(seek)所在位置影響。

14、write()

寫入文件內容

f = open("yesterday2","w",encoding="utf-8")
f.write("Somehow, it seems the love I knew was always the most destructive kind")
f.close()

 注:寫功能只有當打開文件模式是寫(w)或者追加(a)才可操作。

四、關閉文件

f.close()

更多關于Python文件操作方法請查看下面的相關文章

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女