python:檔案的輸入與輸出
上一個文章分享了命令列引數的用法,因為今天週末,於是想把檔案的輸入與輸出整理一下
一.檔案物件和open()函式:
內建函式open()用於開啟或建立檔案物件,語法格式如下:
f=open(file,mode=‘r’,buffering=-1,encoding=None)
file是要開啟或者建立的檔名,如果檔案不在當前路徑,需指出具體路徑;mode為開啟檔案的模式;
buffering表示是否使用快取(預設值為-1,表示使用系統預設的快取大小);encoding是檔案的編碼。open()函式返回一個檔案物件f.
在使用open是可以指定開啟檔案的模式'r'只讀
,'w'寫入,刪除之前的內容
,'x'建立檔案,若存在,則會導致FileExistsError
等,最後面會詳解。
在寫程式碼之前,我們先建立檔案(至關重要的步驟!)
1 .開啟一個硬碟(不推薦C盤),建立一個檔案(儘量簡短)
我是在G盤建立了一個檔案~
2.開啟檔案,然後開啟記事本在裡面隨便寫點內容
我給的檔名是qq,從簡嘛
3.然後將這個檔案拖到stan資料夾中
萬事俱備,只欠程式碼了,開搞!
file_a=open('g:/stan/qq.txt','r')
a=file_a.read()
print(a)
file_a.close()
執行結果為
#hello,world!!
也就是我們剛才寫的內容,還是比較簡單的
但是在檔案操作時容易產生異常,而且最後需要關閉檔案(file_a.close())
,故一般用try…except…finally語句,在try語句塊中執行檔案的相關操作,使用except捕獲可能發生的異常,在finally語句中確保關閉開啟的檔案。
try:
lisi=open('g:/stan/qq.txt','r')
except:
print('出錯啦!!')
finally:
a=lisi.read()
print(a)
lisi.close()
為了簡化操作,python語言中與資源相關的物件可以實現上下文管理協議。也就是會用到with語句
with content [as var]
在執行with語句時,首先呼叫上下文物件context的__enter__(),其返回值賦給var;離開with語句塊時,最後呼叫context的__exit__(),確保釋放資源。
檔案獨享支援使用with語句,確保開啟的檔案自動關閉。
with open(file,mode) as f :
上程式碼演示,上面的栗子的變式
with open('g:/stan/qq.txt','r') as f:
for i in f :
print(i)
f.close()
分享完畢,後續我會加入更多關於檔案的寫入讀取的內容
相關文章
- 瞭解下C# 檔案的輸入與輸出C#
- 排序,檔案輸入輸出排序
- Python資料的輸入與輸出Python
- 第10章 對檔案的輸入輸出
- ACM的Python版輸入輸出ACMPython
- 第九章:輸入/輸出流與檔案操作 習題
- linux中的輸入與輸出管理(重定向輸入,輸出,管道符)Linux
- 檔案輸入輸出處理(二)-位元組流
- python ----輸入輸出 變數Python變數
- Python輸入和輸出(IO)Python
- python 標準輸入輸出Python
- Linux 下的檔案管理&管理系統中的輸出輸入Linux
- AUTOCAD——圖形的輸入與輸出
- 基本的python知識 (輸入和輸出)Python
- 新手學python之Python的輸入輸出函式Python函式
- 06Numpy輸入與輸出
- Python教程:7. 輸入和輸出Python
- python基礎篇-輸入和輸出Python
- 分治法求眾數和重數(含檔案輸入輸出)
- 使用Java NIO 和 NIO2實現檔案輸入/輸出Java
- 輸入輸出
- 專案整合管理主要輸入、工具、輸出
- python怎麼將列印輸出日誌檔案Python
- 資料的輸入輸出
- converter設計模式擴充套件,多種輸入輸出與標準輸入輸出的轉化方案設計模式套件
- 輸入輸出流
- 檔案輸入和輸入出處理(六)-序列化和反序列化
- MySQL輸出html格式檔案MySqlHTML
- Java 輸入輸出流Java
- 1.輸入輸出
- 【C++】輸入輸出C++
- 輸入輸出系統
- shell——shell輸入輸出
- 如何把檔案輸出流替換成位元組輸出流
- matlab輸出複數到檔案Matlab
- python3 socket檔案傳輸Python
- 物聯網學習教程——格式輸入與輸出
- Java------簡單的輸入/輸出Java