雖然視頻、音頻和圖片在硬盤中也是用二進制存儲的,可是上一章節講的字符編碼只和文本文件有關,由於‘utf-8’格式的編碼並不使用視頻,視頻有其自己的編碼格式,如MP四、avi、mkv等。app
文件是操做系統爲用戶或應用程序提供的一個讀寫硬盤的虛擬單位。文件的操做是基於文件,即文件的操做核心就是:讀和寫。也編輯器
就是隻要咱們想要操做文件就是對操做系統發起請求,而後由操做系統將用戶或應用程序對文件的讀寫操做轉換成集體的硬盤指令(好比控制盤片轉動,控制機械手臂移動,以此來讀取數據)。編碼
內存沒法永久保存數據,但凡咱們想要永久保存數據都須要把文件保存到硬盤中,而操做文件就能夠實現對硬件的操做。操作系統
如今咱們有一個需求須要把用戶輸入的帳號密碼存儲到硬盤中,咱們使用Python該如何操做呢?code
name = 'nick' pwd = '123'
若是咱們須要打開一個文件,須要向操做系統發起請求,要求操做系統打開文件,佔用操做系統資源。Python中使用open()方法能夠打開某個具體的文件,open()方法內寫入文件路徑。視頻
open(r'/Users/mac/desktop/jupyter/pythonCourseware/32.txt')
若是給列表增長值,咱們須要給列表賦值後才能給對應的列表增長值。文件也是如此。圖片
lis = [1,2,3] lis.append(4) lis.append(5)
# 打開文件 f = open(r'/Users/mac/desktop/jupyter/pythonCourseware/32.txt') print(f)
<_io.TextIOWrapper name='/Users/mac/desktop/jupyter/pythonCourseware/32.txt' mode='r' encoding='UTF-8'>
打開文件以後,文件不只佔用了內存,他還對應了操做系統打開的以文件,至關於使用文本編輯器打開了一個文件。而且咱們說了咱們操控文件只是爲了讀和寫,所以打開文件並非目的,讀和寫纔是目的,接下來咱們嘗試如何讀寫文件。內存
# read模式打開文件 f = open(r'/Users/mac/desktop/jupyter/pythonCourseware/32.txt', mode='r') # 讀取文件內容,向操做系統發起讀請求,會被操做系統轉成具體的硬盤操做,將內容由硬盤讀入內存 data = f.read() print(data) # 因爲Python的垃圾回收機制只回收引用計數爲0的變量,可是打開文件還佔用操做系統的資源,因此咱們須要回收操做系統的資源資源 # del f 只是回收變量f f.close()
name = 'nick' pwd = '123'
# write模式打開文件 f = open(r'/Users/mac/desktop/jupyter/pythonCourseware/32.txt', mode='w') f.write("""name = 'nick' pwd = '123'""") f.close() f = open(r'/Users/mac/desktop/jupyter/pythonCourseware/32.txt', mode='r') data = f.read() print(data)
name = 'nick' pwd = '123'
打開文件總而言之分爲三步:utf-8