python08 檔案操作

2021-09-24 05:57:50 字數 2490 閱讀 5157

檔案

1.唯讀(r,rb)rb是讀位元組

2.只寫(w,wb)#清除之前的東西,重新寫進去內容。

3.追加(a,ab):表示寫東西

4.r+  讀寫

5.w+ 寫讀

6.a+ 寫讀(追加寫讀)

我們使用open()函式來開啟乙個檔案,獲取到檔案控制代碼,然後通過檔案控制代碼就可以進行各種各樣的操作了。根據開啟方式的不同弄能夠執行的操作也會有相應的差異。

f = open(「**.txt」,mode = "r", encoding="utf-8")

content = f.read() #檔案控制代碼讀取內容

print(content)

f.close()    #關閉控制代碼

檔案路徑

相對路徑和絕對路徑

相對路徑:相對於你當前程式所在的資料夾

絕對路徑:1.從磁碟根目錄尋找 2.網際網路上的乙個絕對路徑

../ 表示上一層資料夾(相對於當前所在的資料夾)

f = open(「小模特」,mode = 「w」 encoding=「utf-8」) #w模式,寫入之前會清除掉原來的內容,如果是a模式,在原來的基礎上進行追加內容

f.write("杜十娘」)

f.flush()

f.close()

f = open(「小**」,mode = 「rb」)

bs = f.read()

print(bs)                       #列印出來的是位元組

print(bs.decode("utf-8")) #需要解碼,列印出來的是檔案的內容

f.close()

f = open(「小**」,mode = 「rb」)

bs = f.write("你好啊".encode("utf-8"))

f.close()

r+模式:先讀後寫,r+模式,預設情況下,游標在檔案的開頭,必須

先讀後寫

才是安全的,

如果是先寫後讀,會出錯

1.  f = open(「老師點名」,mode="r+",encoding = "utf-8")

s = f.read()

f.write("周杰倫」)

print(s)

f.close()

2. f = open("精品",mode="r+" ,encoding = "utf-8")

s = f.read(3)  #讀3個字元,現在的游標應該在3個位元組之後,但是r+模式下,不管你前面讀了幾個,後面去寫,都是在末尾寫

f.write(「馬虎疼」)#在沒有任何操作之前進行寫,即在開頭寫;如果讀取了一些內容後在寫,寫入的是最後。

print(s)

w+模式:w操作清空原來的內容

f = open(「寫讀」,mode =「w+」,encoding="utf-8") 

f.write("今天天氣」)

f.seek(0)

s = f.read()

print(s)  #移動游標才能列印出來「今天天氣」

f.flush()

f.close()

游標:

seek(n)游標移動到n位置,注意,移動的單位是byte,所以如果是utf-8的中文部分要是3的倍數。

移動到開頭:seek(0)

移動到結尾:seek(0,2)seek的第2個引數表示的是從哪個位置進行偏移,預設是0,表示開頭,1表示當前位置,2表示結尾。

tell()告訴當前游標的位置

#將吃的檔案中的肉換成菜,做法是新建吃的副本檔案,改完後,把吃的檔案刪除掉,並將吃的副本檔案重新命名為吃的。

import os

with open ("吃的",mode="r",encoding="utf-8") as f1,open("吃的_副本",mode=「w」,encoding=「utf-8」) as f2:

s =f1.read()

ss=s.replace("肉","菜")

f2.write(ss)

os.remove(「吃的」)

os.rename("吃的副本","吃的)

readline()和readlines()

with open ("吃的",mode="r",encoding="utf-8") as f1,open("吃的_副本",mode=「w」,encoding=「utf-8」) as f2:

for line in f1:

s = line.replace("肉」,"菜」)

f2.write(s)

python08 檔案操作之讀

20 00 2019 1 15 周二 檔案操作 open 相當於是乙個應用程式,通過open函式向作業系統上呼叫應用程式。賦值給f然後在進行操作。f open 九門 encoding utf 8 encoding utf 8 如果不加入這一行,會因為轉碼問題報錯。利用open 開啟檔案 data f...

Python08檔案的使用

a open 檔名 開啟模式 編碼方式 編碼方式 utf 8預設可以忽略 開啟模式 讀a.read size 讀入前size的長度 a.readline size 讀入一行,的前size的長度 a.readlines hint 讀入所有行,以行形成列表,的前hint的長度 寫a.write s 寫入...

08 檔案操作

位元組流 inputstream和outputstream 過濾流 bufferedinputstream和bufferedoutputstream 過濾流用於給流增加乙個緩衝的功能,緩衝區越大,效率越高,典型的犧牲空間換時間 08.01.txt public class testtxt 寫入文字 ...