日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python history文件_【python之路19】文件操作

發布時間:2025/3/15 python 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python history文件_【python之路19】文件操作 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、打開文件

文件句柄 = open('文件路徑', '模式')

打開文件時,需要指定文件路徑和以何等方式打開文件,打開后,即可獲取該文件句柄,日后通過此文件句柄對該文件操作。

打開文件的模式有:

r ,只讀模式【默認】

w,只寫模式【不可讀;不存在則創建;存在則清空內容;】

x, 只寫模式【不可讀;不存在則創建,存在則報錯】

a, 追加模式【可讀; ? 不存在則創建;存在則只追加內容;】

#!usr/bin/env python#-*- coding:utf-8 -*-

f = open('history.log','r') #以只讀模式打開文件

data = f.read() #讀取內容并賦值給data

f.close()print(data)

#!usr/bin/env python#-*- coding:utf-8 -*-

f = open('history1.log','w',encoding='utf-8') #以只寫模式打開文件,因為找不到文件,此時會創建history1.log

data = f.write('你好') #讀取內容并賦值給data

f.close()

"+" 表示可以同時讀寫某個文件

r+, 讀寫【可讀,可寫】

w+,寫讀【可讀,可寫】

x+ ,寫讀【可讀,可寫】

a+, 寫讀【可讀,可寫】

"b"表示以字節的方式操作

rb ?或 r+b

wb 或 w+b

xb?或 w+b

ab?或 a+b

注:以b方式打開時,讀取到的內容是字節類型,寫入時也需要提供字節類型

可以用seek()和 tell()函數進行測試各個打開方式的不同,兩個函數分別是:移動指針的位置、返回當前指針位置

1、r+的打開方式總結:

1)打開文件時,原文件中的內容不變

2)打開文件后,指針默認的位置處于0,此時寫入數據從開始寫入,覆蓋后面的數據,如果是讀取數據是從開始讀取

3)可以讀也可以寫

4)只要讀一次,不管讀幾個字符,寫入的時候就會在尾部進行追加數據。所以讀取數據后要想從開頭或中間寫入數據,需要用seek()改變指針位置。

f = open('history1.log','r+',encoding='utf-8') #history1中的內容為:hello,what is your name

print(f.tell()) #文件中的內容未變,返回0。說明:打開文件后當前指針為0的位置

data =f.read()print(data) #返回:hello,what is your name說明默認從0的位置讀到末尾,此時指針在最后

f.write("my name is sunshuhai") #文件中的內容變為:hello,what is your namemy name is sunshuhai

f.close

2、w+的打開方式總結

1)如果文件存在,則打開原文件,并把原文件內容清空;如果文件不存在,則建立該空文件

2)指針指向0

3)寫入后可以進行讀取,需要用seek()移動指針的位置才能讀取

f = open('history1.log','w+',encoding='utf-8') #history1中的內容為:hello,what is your name

print(f.tell()) #打開時文件中的內容被清空,此時指針處于0位置

f1= open('history2.log','w+',encoding='utf-8') #history2不存在該文件,運行代碼后會自動創建history2.log文件

3、x+的打開方式總結

1)如果文件已經存在則報錯,如果文件不存在則會創建新的文件

2)寫入后可以進行讀取,寫入后指針處于最后,需要用seek()移動指針的位置才能讀取

f = open('history1.log','x+',encoding='utf-8') #history1中的內容為:hello,what is your name

print(f.tell())

f.close()#報錯,因為文件已經存在

f1 = open('history3.log','x+',encoding='utf-8') #history3不存在該文件,運行代碼后會自動創建history3.log文件

4、a+的打開方式總結

1)如果文件已經存在則打開,如果不存在則創建

2)打開后原來的文件內容不變

3)默認的指針位置在最后

4)可以進行讀和寫

f = open('history1.log','a+',encoding='utf-8') #不存在則創建,存在則打開,此時history1.log中的內容為hello,what is your name

print(f.tell()) #返回23,說明:追加模式打開,指針會默認移到最后

data =f.read()print(data) #返回空,因為指針在最后,所以讀取不到數據

f.write('你好') #此時內容為:hello,what is your name你好

f.close()

二、文件操作的主要功能函數

f = open('history1.log','r+',encoding='utf-8')

f.close()#關閉文件

f.flush() #在文件關閉前,就把寫入的內容刷到硬盤

f.read(n) #默認則讀取文件的全部內容,加參數則讀取前幾個字符(如果以b的方式打開則讀取幾個字節)

f.readline() #按行讀取,默認讀取當前指針所在的行

f.seek(n) #調整指針的位置,把指針放在n個字節處

f.tell() #獲取指針的位置

f.truncate() #截取開始至當前指針位置中的內容,其他內容則刪除

f.write() #向文件中寫入內容

seek(0)表示移動到開頭,移動到結尾: seek(0,2) seek的第?個參數表?的是從哪個位置進?偏移, 默認是0, 表 ?開頭, 1表?當前位置, 2表?結尾

f.readlines() #把所有的行讀入列表中,如果文件中的行數很多,內存消耗會很大,適應于行數較少的問件

f.xreadline() #2.x系列才有,生成文件每行的迭代器,相當于for i in f:

for循環打印輸出文件的每一行:

f = open('history2.log','r+',encoding='utf-8')for line inf:print(line) #循環打印輸出每一行

三、with文件打開方式

用with打開文件,with會自動給關閉,無需用f.close()

用with可以同時打開兩個文件

with open('history2.log','r+',encoding='utf-8') as f:

data=f.read()print(data)#最后無需f.close(),with語句會自動給關閉文件

#python2.7及以后版本支持同時打開多個文件

with open('history1.log','r+',encoding='utf-8') as f1,open('history2.log','r',encoding='utf-8') as f2:print(f1.read())print(f2.read())

總結

以上是生活随笔為你收集整理的python history文件_【python之路19】文件操作的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。