Python3編碼如何實現檔案操作?

deeply發表於2021-09-11

之前我們講了編碼之間相互轉化的問題,有遺忘的小夥伴可以再去翻一下之間的內容,鞏固了基礎知識之後,就可以進入本篇用編碼操作檔案的學習了。因為今天的內容比較多,所以小夥伴們可以學習之前先儲存一下,方便之後的回顧與查閱。其他的就不多講了,下面小編帶大家一起學習下Python3編碼中實現檔案的操作吧。


想要透過 Python 程式碼操作某個檔案,必須要有三個元素:

  • path:檔案的路徑

  • mode:r / w / r+ / w+ / a

  • encoding:編碼方式

2. 檔案控制程式碼包括:f / file / file_handler, f_h...

3. open() 是內建函式,實際上是呼叫作業系統對檔案操作的功能

4. 各系統的預設編碼方式:

  • Windows:GBK

  • Linux:UTF-8

  • IOS:UTF-8

5. 對檔案的任何操作都需要藉助檔案控制程式碼

6. f.close():開啟某個檔案後一定要記得關閉它,否則會一直在記憶體中佔用資源

7.開啟某個檔案並讀取其中內容的方法:

f = open("G:test.txt", mode="r", encoding="utf-8")
content = f.read()
print(content)
f.close()
 
# 執行報錯,原因解析:
# 路徑錯誤,系統會認為 t 是一個跳脫字元
# 解決辦法:
# 1) "G:\test.txt"
# 2) r"G:test.txt"
# 另外,這裡不能把反斜槓  改為斜槓 /,因為不同系統之間的斜槓與反斜槓之間會有不同的定義
 
# 使用 open() 開啟某個檔案報錯,除了上面提到的路徑問題
# 還有一個可能的原因,即編碼問題
# 比如在 Windows 系統上編寫了一個 .txt 檔案並儲存
# 在 Pycharm 裡面開啟該檔案就會發現內容很有可能是亂碼的
# 原因就是兩者的編碼方式是不一樣的

 

8. 檔案操作涉及到路徑問題,路徑分為兩種: 

  • 絕對路徑:從磁碟根目錄開始,直到找到檔案

  • 相對路徑:從當前路徑 (當前資料夾) 找到檔案


9. r 模型下的五種讀取方式

# 假設 test.txt 檔案與本 Python 檔案在同一個目錄下
# test.txt 檔案裡的內容如下:
這是第一行的內容...
這是第二行的內容...
這是第三行的內容...
這是第四行的內容...
這是第五行的內容...
 
 
 
######## 1. read():全部讀取出來 ########
f = open("test.txt", mode="r", encoding="utf-8")
content = f.read()
print(content)
f.close()
 
# 執行結果:
這是第一行的內容...
這是第二行的內容...
這是第三行的內容...
這是第四行的內容...
這是第五行的內容...
 
 
 
######## 2. read(n):讀取 n 個字元 ########
f = open("test.txt", mode="r", encoding="utf-8")
content = f.read(3)
print(content)
f.close()
 
# 執行結果:
這是第
 
 
 
######## 3. readline():按行讀取 ########
f = open("test.txt", mode="r", encoding="utf-8")
line1_content = f.readline()
print(line1_content, type(line1_content))
# 這是第一行的內容...
# <class 'str'>
line2_content = f.readline()
print(line2_content, type(line2_content))
# 這是第二行的內容...
# <class 'str'>
f.close()
 
 
 
######## 4. readlines():返回一個列表 ########
f = open("test.txt", mode="r", encoding="utf-8")
content = f.readlines()
print(content)
f.close()
 
# 執行結果:
['這是第一行的內容...n', '這是第二行的內容...n', '這是第三行的內容...n', '這是第四行的內容...n', '這是第五行的內容...n']
 
 
 
######## 5. for 迴圈:讀取大檔案 ########
# 當一個檔案很大時,比如它有 9G,但是電腦記憶體只有 8G
# 如果使用上面的方法一次性全部讀取出來,那麼電腦就會掛掉
# 解決辦法就是使用 for 迴圈,只有每次迴圈時才佔記憶體
f = open("test.txt", mode="r", encoding="utf-8")
for line in f:
    print(line.strip())
f.close()
 
# 執行結果:
這是第一行的內容...
這是第二行的內容...
這是第三行的內容...
這是第四行的內容...
這是第五行的內容...
 
# 如果是直接 print(line),注意看結果:
這是第一行的內容...
 
這是第二行的內容...
 
這是第三行的內容...
 
這是第四行的內容...
 
這是第五行的內容...

以上就是Python3編碼實現檔案操作的方法。不知道有小夥伴一次看明白了沒有,給學會了的小夥伴點個贊。沒有學會的小夥伴也不要著急,程式碼都在上面可以慢慢嘗試,相信你們一定可以的。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/1978/viewspace-2832251/,如需轉載,請註明出處,否則將追究法律責任。

相關文章