python中文件操作中不同的文件操作有何差异_Python学习基础篇 -6: Python中的文件操作...
前言:本專欄以Python為主題,并盡可能保持每星期兩到三更,直到將Python的基礎知識淺析和講解完畢,同時,有一定基礎的同學可以移步 Python實戰專欄 。文件有有什么用
文件可以看作一個倉庫,倉庫的主要作用自然是存取東西,那為什么需要操作文件呢?這是因為代碼在執行完畢時,有些數據需要暫時存儲,等待下次需要的時候再拿出來,就好像你使用word軟件來編輯文檔的時候,需要將你的修改存儲到word文檔里面,以便后續使用,如果不保存,那你的產出很可能就白費了文件的操作模式
還是把文件比作倉庫,那對于倉庫的操作大概有這么幾種:觀倉
觀倉重點在于觀,可遠觀而不可褻玩焉,我們只能看著它,不能動它,在Python中對應 r 模式(全稱為read),這是在Python中的默認文件操作模式
加倉
加倉重點在于加,即往倉庫中加東西。這在 Python中對于的操作模式是 a 模式 (應該是append的縮寫吧),使用這種模式后,如果文件不存在就會創建一個新的文件,后面的追加操作會直接將內容追加到文件末尾。
清倉
清倉重點在于清,即清理倉庫,為什么要清倉呢?可能是之前的倉庫太雜了,我想給它改頭換面,重新裝修它。這在 Python中對應文件的 w 模式,改模式的作用是新建或者清空已經存在的文件,從而得到一個空文件。
特殊的倉庫
有些倉庫是比較特殊的,它里面存儲的東西我們可能無法直接看懂,例如圖片,這是一種二進制文件,我們是無法通過肉眼觀察然后將其翻譯為其所展示的圖像的,需要借助圖片查看器等"翻譯軟件"才能看懂圖像。圖片、音頻、視頻之類的文件就是二進制文件。在 Python中,操作二進制文件需要在上面 3 種模式種加上 b (byte),例如:wb ab rb這三個。
增強模式
增強模式是指在單個操作模式,例如 r ,加上一個 + 號 ,就能額外獲得其反面技能,比如r的反面是w ,那么 r+表示可讀可寫 w+ 也表示可讀可寫 兩種不同之處是 r+ 操作的時候文件必須存在,否則程序就會報錯。
文件操作代碼實現的幾種方式
r 模式操作
# ############ 請先在代碼文件目錄創建一個叫做 test.txt 的文件 并在里面寫入 Hello 這么一個詞并保存
# 指定文件名 可以是 test.txt 和 C:/test.txt 這兩種格式(還有相對路徑表示方法)
# 如果 文件和代碼處于同文件夾可以省略
path = 'test.txt'
# open 函數用法 open(文件路徑,操作模式) 操作模式可以省略 默認為 r
# 打開 test.txt 文件
f = open(path)
# read() 方法獲取文本文件全部內容
content = f.read()
print(content)
# close()方法關閉文件
f.close()
以上代碼的作用是打開 test,txt 這個文件并獲取和輸出其含有的全部內容
a 模式操作
# 指定文件名 可以是 test.txt 和 C:/test.txt 這兩種格式(還有相對路徑表示方法)
# 如果 文件和代碼處于同文件夾可以省略
path = 'test.txt'
# open 函數用法 open(文件路徑,操作模式) 操作模式可以省略 默認為 r
# 以a模式打開 test.txt 文件
f = open(path,'a')
# write 方法寫入文件 write里面的參數是要寫入的內容 這里操作的是文本文件 寫入的類型是字符串
f.write('World!')
print('World 已寫入文件里面!')
f.close()
以上代碼的作用是在 test.txt 這個文件里面寫入 ‘World!’ 這個字符串,特別要注意的是 open函數里面多了一個字符串類型的參數,它就是顯式的操作模式,如省略則默認為 r
w 模式操作
python # 指定文件名 可以是 test.txt 和 C:/test.txt 這兩種格式(還有相對路徑表示方法) # 如果 文件和代碼處于同文件夾可以省略 path = 'test.txt' # open 函數用法 open(文件路徑,操作模式) 操作模式可以省略 默認為 r # 以w模式打開 test.txt 文件 不存在則新建 存在則清空 f = open(path,'w') print('文件已創建或清空!') # close方法關閉文件 f.close()
以上代碼的作用是新建一個叫做 test.txt 的文件 如果已經存在就清空這個文件,運行之后再打開改文件 可以看到內容為空
rb 模式操作
# ############ 請先在代碼文件目錄創建一個叫做 test.txt 的文件 并在里面寫入 Hello 這么一個詞并保存
# 指定文件名 可以是 test.txt 和 C:/test.txt 這兩種格式(還有相對路徑表示方法)
# 如果 文件和代碼處于同文件夾可以省略
path = 'test.txt'
# open 函數用法 open(文件路徑,操作模式) 操作模式可以省略 默認為 r
# 以wb的方式打開 test.txt 文件 test.txt 文件里面的可看到的內容是 Hello
f = open(path,'rb')
# read() 方法獲取文本文件全部內容
content = f.read()
print(content)
# 輸出結果 b'Hello'
# close()方法關閉文件
f.close()文件常用操作方法
5.讀取文件報錯的可能原因
對于文本文件,讀取報錯的可能原因是文件的編碼問題 ,例如你的文件可能是用 UTF-8 的方式編碼的,但文本文件的默認打開方式可能是 UTF-8 ,這時候可能有些不兼容,你需要做的是在open()函數里面指定一個編碼方式,例如 UTF-8 和GBK等,演示代碼如下
path = 'test.txt'
# encoding = 后面加一個表示編碼方式的字符串 例如 UTF-8 GBK utf-8 等等
f = open(path,'r',encoding = 'utf-8')
# read() 方法獲取文本文件全部內容
print(f.read())
# close()方法關閉文件
f.close()
以上是對Python中的一些文件基本操作的講解 其中還有一個 with 操作方法沒有說,這個同學們可以自己去了解,后面在實戰系列中會有所涉及。
最后,本基礎系列文章可能還有兩篇就結束了,后面的重心會轉移到實戰專欄,讓大家更好地運行 Python ,歡迎有疑惑或者對文章有所見解的同學在評論區討論噢!
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的python中文件操作中不同的文件操作有何差异_Python学习基础篇 -6: Python中的文件操作...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何在PR软件中设置输出抖音高清视频格式
- 下一篇: 英雄联盟中拉克丝的皮肤及其价格