第六章 python讀寫文件操作

和字符串的處理相關的是文件操作,把處理好的字符串寫到文件里,這就涉及到字符串的操作。在python中文件的操作和c/c++語言類似,打開文件,把字符串寫入到文件中。

open/文件操作

f=open('/tmp/hello','w')
#open(路徑+文件名,讀寫模式)

#讀寫模式:r只讀,r+讀寫,w新建(會覆蓋原有文件),a追加,b二進制文件.常用模式

如:'rb','wb','r+b'等等

讀寫模式的類型有:

rU 或 Ua 以讀方式打開, 同時提供通用換行符支持 (PEP 278)
w     以寫方式打開,
a     以追加模式打開 (從 EOF 開始, 必要時創建新文件)
r+     以讀寫模式打開
w+     以讀寫模式打開 (參見 w )
a+     以讀寫模式打開 (參見 a )
rb     以二進制讀模式打開
wb     以二進制寫模式打開 (參見 w )
ab     以二進制追加模式打開 (參見 a )
rb+    以二進制讀寫模式打開 (參見 r+ )
wb+    以二進制讀寫模式打開 (參見 w+ )
ab+    以二進制讀寫模式打開 (參見 a+ )

讀文件

讀固定字節

file_object = open('abinfile', 'rb')
chunk = file_object.read(100)

讀每行

file_object.readline()
list_of_all_the_lines = file_object.readlines( )

如下讀取D:\python-start下的helloworld.py,并把讀取的字符顯示出來:

常見的參考代碼如下:

#!/usr/bin/python  
#coding=utf-8  
import os  

if os.path.exists("clusters3.txt"):  
    file = open("clusters3.txt")  
    while 1:  
        line = file.readline()  
        print line  
        if not line:  
            break  
  file.close()

如果使用with 簡化文件的打開和關閉操作:

#!/usr/bin/python  
#coding=utf-8  
import os  

if os.path.exists("clusters3.txt"):  
    with open("clusters3.txt") as file:  
        while 1:  
            line = file.readline()  
            if not line:  
                break  
            print line

寫文件

寫數據

file_object = open('thefile.txt', 'w')
file_object.write(all_the_text)
file_object.close( )

寫入多行

file_object.writelines(list_of_text_strings)

注意,調用writelines寫入多行在性能上會比使用write一次性寫入要高。

把變量s的值寫到文件file_test.txt下:

寫文件的參考代碼如下:

#!/usr/bin/python  
#coding=utf-8  

with open('test.txt', 'w') as file:  
    file.write('test ')  
    file.write('test1 ')  
    file.writelines(['test','test1'])
繼續閱讀

所有評論

如果對文章有異議,請加qq:1752338621