一,打開文件
python中打開文件的函數(shù)為open('filename',mode='r',encode='None'),open函數(shù)默認返回文件的句柄,我們可以根據(jù)句柄來對文件進行增,刪,改,查的操作。將句柄賦給我們定義的變量,假設(shè)我們定義變量為f,則f=open('filename',mode='r',encode='utf-8')或者withopen('filename')asf。
注意點:
python解釋器打開文件時,是對硬盤進行操作,需要內(nèi)核態(tài)才可以操作硬盤,故此時python解釋器是調(diào)用操作系統(tǒng)的文件讀取接口。windows中文版本默認使用GBK編碼表,linux默認使用utf-8,所有如果操作的文件在windows下,非GBK編碼的,需要在open函數(shù)中聲明編碼類型,使操作系統(tǒng)運用相應(yīng)的編碼規(guī)則進行解碼讀取,防止串碼,亂碼現(xiàn)象。
2.open主要有三種模式,讀(r),寫(w),追加(a),其中,默認為讀模式。各個模式的詳解,見下文。
二,關(guān)閉文件
關(guān)閉文件有兩組方式:
1.使用f.close(),f為open返回的句柄賦值的變量名。
2.程序結(jié)束后,自動關(guān)閉。第一個方法容易造成文件寫操作時,數(shù)據(jù)的丟失。原因是寫數(shù)據(jù)時,數(shù)據(jù)會先保存在內(nèi)存中,文件關(guān)閉時才會寫入硬盤,此時如果文件未關(guān)閉,軟件因為異常崩潰,導(dǎo)致內(nèi)存中的數(shù)據(jù)丟失,且未寫入硬盤中。作為第一種關(guān)閉方法的優(yōu)化,是使用:withopen('filename')asf。with會創(chuàng)建一個程序塊,將文件操作置于with程序塊下,這樣with控制塊結(jié)束,文件也會自動關(guān)閉。
語法如下:
withopen('f1.txt')asf1,open('f2.txt')asf2:
......
以上內(nèi)容為大家介紹了python文件操作之打開文件和關(guān)閉文件,希望對大家有所幫助,如果想要了解更多Python相關(guān)知識,請關(guān)注IT培訓(xùn)機構(gòu):千鋒教育。