1.打開和關閉文件(open(),file(),close())
有兩種內建函數可以獲取文件對象:open和file。他們的用法完全一樣。下面只以open()為例子講解。獲取一個文件對象(打開文件)的語法如下:
代碼如下:fileObj = open(filename,access_mode='r',buffering=-1)
filename不用說你也應該知道是你要打開文件的路徑。
access_mode用來標識文件打開的模式,默認為r(只讀)。
常用的模式如下表所示:
文件模式 | 解釋 |
r | 以只讀方式打開 |
w | 以寫方式打開,文件不為空時清空文件;文件不存在時新建文件。 |
a | 追加模式,沒有則創建 |
r+,w+,a+ | 以讀寫模式打開,參見w,a |
第三個參數不經常用到,標識訪問文件的緩沖方式,0代表不緩沖,1代表緩
沖一行,-1代表使用系統默認緩沖方式。只要使用系統默認就好。
一些例子:
代碼如下:
>>> f = open('/etc/passwd','r')
>>> f1 = open('/etc/test','w')
使用完文件后,一定要記得關閉文件,操作如下:
代碼如下:
>>> f.close()
2.文件讀入
2.1.file.read(size = -1)
讀取從當前文件游標起size個字節的文件內容。如果size=-1,則讀取所有剩余字節。
代碼如下:
>>> f = open('/etc/passwd')
>>> f.read(100)
'root:x:0:0:root:/root:/bin/bash/nbin:x:1:1:bin:/bin:/sbin/nologin/ndaemon:x:2:2:daemon:/sbin:/sbin/nol'
2.2.file.readlines(size=-1)
從文件中讀取并返回一行(包括行結束符),或返回最大size個字符
代碼如下:
>>> f.readline()
'ogin/n'#和上面一個例子輸出的最后拼起來就是 'nologin',因為游標在l后面。
>>> f.readline(1)
'a'
2.3.file.readlines(sizhint=0)
讀取文件所有的行,并作為一個列表返回(包括行結束符),如果sizhint>0則返回總和大約sizhint字節的行(具體由緩沖區大小決定)。
代碼如下:
f.readlines()
['dm:x:3:4:adm:/var/adm:/sbin/nologin/n', 'lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin/n', 'sync:x:5:0:sync:/sbin:/bin/sync/n', 'shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown/n', 'halt:x:7:0:halt:/sbin:/sbin/halt/n', 'mail:x:8:12:mail:/var/spool/mail:/sbin/nologin/n', ......
輸出省略。
3.文件輸出
3.1.file.write(str)
新聞熱點
疑難解答