1. 程式人生 > >第五章 文件處理

第五章 文件處理

文本 lex 只讀 5.2.1 處理機 post mod 賦值 line

5.1 文件的處理機制

5.2 文件打開的模式


5.1 文件的處理機制

打開

f=open(‘a.txt‘,mode=‘r‘,encoding=‘utf-8‘) #變量賦值

讀/寫

data=f.read()
print(data)

關閉

f.close() #回收操作系統的資源
del f #回收python資源,python回收機制自動處理,不用寫
print(f)

流程分析:

1:向操作系統發起系統調用
2:操作系統打開這個文件,返回一個文件句柄給應用程序
3:在應用程序中把文件句柄賦值給一個變量

註意兩點:

1:打開一個文件對應兩部分,一個Python級別的文件句柄,另外一個是操作系統打開的文件

(默認打開文件的編碼是以操作系統的編碼為準的,除非open()指定encoding=‘編碼‘
2:當文件操作完畢後,應該回收兩部分資源,
del f:回收應用程序資源(python解釋器自動的垃圾回收機制已經替我們做了)
f.close:回收操作系統

上下文管理with 自動關閉系統的占用f.close()

with open(‘a.txt‘,mode=‘r‘,encoding=‘utf-8‘) as f:
print(f.read())

5.2 文件打開的模式

5.2.1 讀 r

讀操作: r只讀模式,默認是rt文本讀

f=open(‘a.txt‘,‘r‘,encoding=‘utf-8‘)

data1=f.read()

print(‘=1===>‘,data1)

去掉讀取一行後的換行符

print(f.readlines())

print(f.readline(),end=‘‘) #去掉讀取一行後的換行符

f.close() #文件關閉,回收操作系統的資源

5.2.2 寫 w

寫操作:w只寫模式,默認是wt文本寫,如果文件不存在則創建,存在則清空+覆蓋

f=open(‘a.txt‘,‘w‘,encoding=‘utf-8‘)

f.write(‘11111\n‘)

f.write(‘222222\n‘)

f.write(‘1111\n2222\n3333\n‘)

f.writelines([‘哈哈哈哈\n‘,‘你好‘,‘alex‘])

f.close()

第五章 文件處理