1. 程式人生 > >2018.12.5 今日所學

2018.12.5 今日所學

今日主要學習了

1. 初識檔案操作
2. 只讀(r, rb)
3. 只寫(w, wb)
4. 追加(a, ab)
5. r+讀寫
6. w+寫讀
7. a+寫讀(追加寫讀)
8. 其他操作方法
9. 檔案的修改以及另一種開啟檔案控制代碼的方式

一. 初識檔案操作

1. 檔案中我們經常用open來開啟檔案,或取到檔案的控制代碼. 然後通過檔案控制代碼就可以對檔案進行各種各樣的操作了.根據開啟方式的不同能夠執行的操作也會有不同的操作.

開啟檔案的方式: r ,w,a ,a+,w+,a+,rb,wb,ab,r+b,w+b,a+b預設使用的是r(只讀)模式

開啟檔案的基本操作: f= open('檔名',mode="r",encoding='utf-8')

路徑:

1) 相對路徑: 從檔案內部一步一步的找到目標檔案.

進檔案: 檔名/

出文件: ../

2) 相對路徑:

直接從磁盤裡找到目標檔案(這裡有問題 ,建議少用)

日誌:程式執行過程中記錄的所有資訊.

二. 只讀操作(r, rb)

相關操作:1. read()預設的是讀取全部內容 

 read(n)注意這裡可以在括號裡放數字n,這裡的數字指的是讀取幾個字元

    2.readlines()這裡表示的意思是讀取一行 用strip可以去除  readlines是一次性把所有的內容全部讀出來,返回的是列表.

for line in f:

print(line) 

這裡的line指的是每一行的內容

f = open("護士少婦嫩模.txt",mode="r", encoding="utf-8")
content = f.read()
print(content)
f.close()    #關閉檔案

encoding表示的是編碼集.根據檔案的實際儲存編碼進行獲取資料,常用的是utf-8

三. 只寫操作.(w , wb)

這裡的只寫操作是在檔案中寫入資料.但是有一個問題 ,每次再用" w"的時候都會清空檔案.

只寫檔案可以建立檔案 . 如果你輸入的檔案不存在,會幫你建立一個檔案,在執行只寫操作

好習慣:  

f.flush() 重新整理管道

f.close() 關閉檔案

   四. 追加操作 .(a ,ab)

追加顧名思義,在最後追加,我們寫入的內容會直接追加到檔案的尾部.

這裡的追加操作也可以建立新的檔案

五. r+操作 偏重於讀

必須是先讀在寫,一開始游標預設實在開頭,準備讀取的,當讀完之後在進行寫,使用頻率相對來說比較高.

六 .寫讀操作(w+,w+b) 寫讀操作注重的是寫  

必須先寫,在讀( 這裡讀到的內容是空的)

先將所有的內容清空,再然後寫入,最後讀取.但是讀取的內容是空的,不常用

六.追加讀(a+)

a+模式下,不管是先讀,還是後讀,都是讀取不到資料的.

七.其他操作

1. seek() 移動游標

f.seek(m,n) 兩個引數

m: 這裡的m表示的是偏移量 

n:表示的是從n位置開始便宜預設是0 ,1 表示的是當前位置 , 2 表示的結尾

2 . tell 返回游標的所在位置 

檔案的修改(重點)

匯入os模組 ,os模組表示的是作業系統  import  os

 1. 先從檔案中讀取內容.

 2.把需要進行的修改的內容進行修改

 3.把修改好的內容放到一個新的檔案中 

 4.刪除原來的檔案

 5 .把檔案重新命名成原來的檔名字 

在這裡引入了一個新的語法詞語: with

with可以幫我們自動關閉檔案的連結

with open("誇一誇alex", mode="r", encoding="utf-8") as f, / ==>這裡的/表示的是這兩行程式碼是一行的
open("誇一誇alex_副本", mode="w", encoding="utf-8") as f2:

for line in f:
if "好人" in line:
line = line.replace("好人", "sb")
f2.write(line)

time.sleep(3)  程式停止三秒