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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

文件基本处理

發(fā)布時(shí)間:2023/12/18 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 文件基本处理 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1 打開文件,將文件句柄賦值給一個(gè)變量

2 拿句柄對文件進(jìn)行操作

3 關(guān)閉文件

將一個(gè)文件第一行寫道另外一個(gè)文件

f = open("test","r",encoding="utf-8") # open找的是系統(tǒng)的編碼 x = f.readlines() f.close() f1 = open("test1","w",encoding="utf-8") f1.write(x[0]) f1.close()

?

with open("test","r",encoding="utf-8") as f,\open("test1","w",encoding="utf-8") as f1: #with open不用close()x = f.read()f1.write(x)

?

北京182 iloveyoubeijing111 test with open("test","rb") as f :#b的方式不能用encodingdata= f.read()print(data)

?

b'\xe5\x8c\x97\xe4\xba\xac182\r\niloveyoubeijing111\r\n' result

\r\n代表回車,字母和數(shù)字可以直接顯示,漢字用2進(jìn)制代替,文件是utf-8格式,所以一個(gè)漢字三個(gè)字節(jié)

print(data.decode("utf-8"))

?

北京182 iloveyoubeijing111 result

?

with open("test","wb") as f:x = "我愛北京天安門"f.write(bytes(x,encoding="utf-8"))#f.write(bytes(x.encode("utf-8")))#效果一樣

?f.encoding表示的是文件打開的編碼,如果不知道文件編碼是什么,不知道怎么打開,可以用latin-1試一下

我愛北京天安門我愛北京天安門 你好么 我很好 test with open("test","r",encoding="utf-8") as f:print(f.readlines()) #windows上回車\r\n占2個(gè)字符。python默認(rèn)處理顯示成\nwith open("test","r",encoding="utf-8",newline="") as f:print(f.readlines()) #windows上回車\r\n占2個(gè)字符。python默認(rèn)處理顯示成\n

?

['我愛北京天安門我愛北京天安門\n', '你好么\n', '我很好'] ['我愛北京天安門我愛北京天安門\r\n', '你好么\r\n', '我很好'] Result

?

with open("test","r",encoding="utf-8") as f:f.readline()print(f.tell()) #光標(biāo)位置處,即移動的字節(jié)處f.readline()print(f.tell())

?

# 3*14+2=44 # 3*3+2+44=55 Result

?

f.seek(3) #移動光標(biāo)到第3個(gè)字節(jié)之后,print(f.tell())print(f.readline()) #如果移動的不是3的整數(shù)倍,會報(bào)錯(cuò),因?yàn)閡tf-8無法解碼

?

3 愛北京天安門我愛北京天安門 Result

?

print(f.read(4)) #read讀的是字符 f.truncate(5) #截取0-5字節(jié)并保留,所以一定要是w模式 r+.a+,w可以,w+不行 print(f.readlines())

?seek(a,0)從頭開始seek,seek(a,1)從當(dāng)前光標(biāo)seek,seek(a,2)從后向前seek,2的時(shí)候a需要是負(fù)數(shù),文件打開模式需要帶b

print last sentence of the file with open("test","rb") as f:offsets = -3n = 0while True:f.seek(offsets,2)data = f.readlines()if len(data)>1: #如果取到2行以上print("這是最后一行:" ,data[-1].decode("utf-8")) #data列表里是二進(jìn)制,需要解碼breakoffsets*=2 第一行 第二行 第三行 第四行 最后一行 test 這是最后一行: 最后一行 result

?

轉(zhuǎn)載于:https://www.cnblogs.com/telma/p/10510355.html

創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)

總結(jié)

以上是生活随笔為你收集整理的文件基本处理的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。