普通檔案的讀寫
檔案讀取
1.開啟檔案
"""
open(path,flag,encoding)
path:需要開啟的檔案的路徑,可以是相對路徑,也可以是絕對路徑
flag:表示檔案開啟的方式
r:只讀,檔案描述符出現在檔案的開頭
rb:read binary,以二進位制的方式開啟一個檔案用於只讀,檔案描述符出現在 檔案的開頭
r+:讀寫,檔案不存在會報異常
rb+:以二進位制的方式開啟一個檔案用於讀寫
encoding:
utf-8/UTF-8/utf8
gbk/GBK
"""
# 注意1:如果只讀,普通文字檔案使用r開啟即可,open函式返回被開啟的檔案物件【檔案描述符】
# 注意2:encoding一定要和檔案本身的編碼格式保持一致,否則亂碼
2.讀取內容
"""
f.read(value),value省略,則預設讀取檔案中的全部內容,value表示位元組數
f.readline(value):value省略,則預設一次只能讀取一行,value表示位元組數
f.readlines():以行為單位,返回一個列表,行作為列表中的元素
"""
3.關閉檔案
關閉檔案的過程實際上是將檔案物件銷燬的過程,為了避免造成系統資源的浪費
f.close()
檔案寫入
1.開啟檔案
open(path,flag,encoding)
path:需要開啟的檔案的路徑,可以是相對路徑,也可以是絕對路徑
flag:表示檔案開啟的方式
w:普通檔案檔案的寫入 *****
wb:read binary,二進位制檔案內容的寫入 *****
w+:讀寫,檔案不存在建立
wb+:以二進位制的方式開啟一個檔案用於讀寫
a:append,表示追加 *****
encoding:
utf-8/UTF-8/utf8
gbk/GBK
注意:
使用w或者wb,新的內容會覆蓋掉舊的內容
使用a,新的內容會追加到原內容的後面
"""
# 注意1:寫入檔案的時候,檔案可以不存在,會自動建立
# 注意2:常用檔案的編碼格式為utf-8.s,如果encoding使用gbk,開啟檔案會出現亂碼
2.寫入內容
x.write(str),將指定字串寫入到指定檔案中,返回被寫入的字串的長度
x.writelines(seq), 將序列中的字串寫入到指定檔案中
# 注意writelines傳參的時候,列表中的每個元素的後面新增\n
# f2.writelines(["fhajkfh\n","aaaaa\n","tquioetuqoiwu6578465\n"])
# with上下文寫入
with open(r"file3.txt","w",encoding="utf-8") as x:
x.write("fahj")
x.flush() # 重新整理:如果在資料量大的情況下,加快資料的寫入速率
3.關閉檔案
非文字檔案讀寫
如果需要開啟的是圖片,音視訊或者壓縮包等,開啟方式需要採用rb或者wb
如果採用rb或者wb的方式開啟檔案,則必須省略encoding引數
普通文字檔案讀取完成之後獲取到的是一個字串,二進位制讀取結果為一個位元組
with管理上下文
"""
with上下文的工作原理:
with是管理上下文的關鍵字,也被稱為上下文管理器,當一個物件使用with的時候,
當物件進入上下文的時候,會自動呼叫__enter__;
當物件退出上下文的時候,會自動呼叫__exit__;
as關鍵字:通過as關鍵字接收使用with關鍵字的物件,as後面的是一個變數【引用】
"""
class Check(object):
def __enter__(self):
# 當物件進入上下文環境時,主要是為了初始化相應的資源,如:開啟檔案
return self
def __exit__(self, exc_type, exc_val, exc_tb):
"""
exc :exception,異常【錯誤】
:param exc_type: 異常型別
:param exc_val: 異常值
:param exc_tb:
"""
return True #內部自己處理異常,不會向直譯器丟擲【raise】異常
# 讀取檔案
with open(r"","r",encoding="utf-8") as f:
print(f.read())
相關文章
- 檔案的讀寫
- 檔案讀寫
- 檔案排版(文字檔案讀寫)
- Golang 讀、寫檔案Golang
- keras讀寫檔案Keras
- perl 讀寫檔案
- 檔案讀寫IO
- IO流的檔案讀寫
- Scala檔案的讀寫操作
- Python中的檔案讀寫Python
- Java中檔案的讀寫操作Java
- 「Python」:檔案讀寫Python
- Python——檔案讀寫Python
- Python 讀寫檔案Python
- C++檔案讀寫C++
- 【Java】讀寫文字檔案Java
- c fopen檔案讀寫
- 讀寫iOS XML檔案iOSXML
- Python讀寫檔案Python
- C++讀寫檔案C++
- VBA建立文字檔案、讀寫文字檔案
- 檔案操作之按照行讀寫檔案
- Python中檔案的讀寫、寫讀和追加寫讀三種模式的特點Python模式
- Android中檔案的讀寫操作Android
- csv檔案的寫入和讀取
- Perl讀寫檔案&字串操作字串
- java 讀寫 ini 配置檔案Java
- C++讀寫檔案操作C++
- Golang對檔案讀寫操作Golang
- C++檔案讀寫操作C++
- python讀寫excel檔案PythonExcel
- c風格讀寫檔案
- python檔案讀寫操作Python
- C/C++ 檔案讀寫C++
- Java 字元流檔案讀寫Java字元
- Java檔案操作 讀寫操作Java
- R讀寫檔案略記
- c#讀寫ini檔案C#