一.基礎操做html
1.打開文件python
f = open(文件路徑,打開方式,編碼模式) #打開文件並返回操做對象緩存
打開方式編碼 |
說明 | 注意 |
'r' | 只讀方式 | 文件必須存在 |
'w' | 只寫方式 | 文件不存在則建立文件spa 文件存在則清空文件命令行 |
'a' | 追加方式 | 文件不存在建立文件 |
'r+'/'w+' | 讀寫方式 | |
'a+' | 追加和讀寫方式 |
2.讀取文件指針
f.read() #不加參數默認讀取整個文件 例如:read(1024) #讀取1024個字節htm
f.readline() #不加參數默認讀取一行對象
f.readlines()#讀取buffer字節大小的內容 ,返回每一行所組成的列表blog
iter #使用迭代器讀取文件,讀取全部內容
例子:
iter_f = iter(f)
lines = 0
for line in iter_f :
f.read(line) #一行行讀取
lines += 1
return lines #一共多少行
3.文件寫入與寫緩存
f.write(str) #將字符串寫入文件
f.writelines(sequences_of_strings) #寫多行到文件,參數爲可迭代對象
注意:寫以後,直接查看文件,會發現內容並無被寫到文件裏,由於此時內容還在緩存中,並無寫到磁盤上
解決方法:
(1)主動調用close()或者flush方法,寫緩存同步到磁盤;(2)寫入數據量大於或者等於緩存,寫緩存同步到磁盤
4.文件關閉
f.close()
爲何須要關閉?
(1)將寫緩存同步到磁盤;(2)Linux系統中每一個進程打開文件的個數是有限的;(3)若是打開文件數到了系統限制,再打開文件就會失敗
5.文件指針
寫入與讀取的問題
(1)寫入文件後,必須打開才能讀取寫入內容
(2)讀取文件後,沒法從新再次讀取讀過內容
文件指針移動的過程:
文件指針操做方法:
seek(偏移量,相對偏移位置)
指針定位方式:
os.SEEK_SET:相對文件起始位置 0
os.SEEK_CUR:相對文件當前位置 1
os.SEEK_END:相對文件結尾位置 2
使用例子:
f.seek(0,os.SEEK_SET) #文件指針回到起始位置
f.seek(0,os.SEEK_END) #文件指針指到文件結尾
f.seek(-5,os.SEEK_CUR) #指針從當前位置向前偏移5個位置
f.tell() #查看指針當前所指位置
二.文件屬性以及OS模塊使用
1.文件屬性
(1)屬性方法
f.fileno()#文件描述符
f.mode#文件打開權限,只讀、只寫、讀寫等
f.encoding #文件編碼格式
f.closed#文件是否關閉
(2)標準文件
標準輸入:sys.stdin 標準輸出:sys.stdout 標準錯誤:sys.stderr
(3)文件命令行參數
執行程序時,能夠根據參數不一樣完成不一樣功能
sys模塊提供sys.argv屬性,經過該屬性能夠獲得命令行參數,sys.argv是字符串組成的列表
python a.py 參數名
2.編碼格式
這篇博文講解很詳細
http://www.javashuo.com/article/p-ksoeayae-do.html
3.LINUX文件系統
文件包括:磁盤(ext2.ext4)文件,NFS文件系統,各類外設(sd卡,USB設備)等
4.OS模塊對文件和目錄操做
(1)OS模塊
使用os模塊打開文件
os.open(文件名,打開方式,)
打開方式:os.O_CREAT(建立文件) os.O_RDONLY(只讀方式) os.O_WRONLY(只寫方式) os.O_RDWR(讀寫方式)
使用os模塊對文件進行操做
os.read(文件描述符,buffersize) #讀取文件
os.write(文件描述符,string)#寫入文件
os.lseek(文件描述符,pos,how) #文件指針操做
os.close(文件描述符) #關閉文件
例子
f = os.open('文件路徑',os.O_CREAT|os.O_RDWR) #建立文件
n = os.write(f,'hello') #將hello寫入文件
l = os.lseek(f,0,os.SEEK_SET)#返回當前指針的位置,此時l的值應該爲0
str1 = os.read(f,5) #讀取5個字節,此時str1爲hello
os.close(f) #關閉
(2)OS模塊對文件操做的方法
舉例:
os.access('文件路徑名稱',os.F_OK) #文件存在,則返回True不然返回False
os.access('文件路徑名稱',os.W_OK) #文件可寫,則返回True不然返回False
os.listdir('./') #顯示當前文件文件目錄下的全部路徑
其餘方法使用方法相似
(3)os模塊對路徑的操做