標籤:設定 需要 檔案操作 test 預設 寫入 支援 覆蓋 唯讀
Python的檔案操作:
開啟檔案;open函數
open的方式有三種
1,r(read-only)也是python中預設的檔案開啟模式
2,w(write-only)唯寫模式,比較危險,會覆蓋當前檔案內容
3,a(append)追加模式,對檔案追加內容
讀取檔案:
讀取的方式有三種
read() 每次讀取整個檔案內容,並且賦值到一個變數,如果檔案大於記憶體。是不能實現這種方式的
readline()
readlines()
後兩者非常相似,唯一的區別是readines是一次讀取整個檔案,將檔案內容分析稱一個行的列表,該列表可以用python的for..in..結構進行處理。
而readline每次唯讀一行,比readlines慢的多,僅當沒有足夠記憶體可以一次性讀取整個檔案時,才會使用.readline()
最基本的開啟檔案指令碼:
#!/usr/bin/env python
a =open(‘/etc/passwd‘) 以讀的方式開啟/etc/passwd檔案
b =a.read() 讀取整個檔案內容,並且賦值到變數b
a.close() 關閉檔案
print(b) 列印變數b
通過for _ in range()語句,來讀指定的行
#!/usr/bin/env python
file = open(‘/etc/passwd‘,‘r‘)
for a in range(4): 設定一個for迴圈,迴圈次數=4
print(file.readline()) 一行一行讀取,讀取4次(4行)
file.close 關閉檔案
以列表的方式來讀檔案
#!/usr/bin/env python
file = open(‘/etc/passwd‘,‘r‘)
list = file.readlines() 把readlines的結果寫入列表list
file.close 關閉檔案
a=list[0:3] 切割列表a,只保留前3個index
print(a)
對檔案執行寫操作:
write,writelines
write(string)
write是直接寫入字串
#!/usr/bin/env python
file=open(‘test.txt‘,‘w‘) --如果檔案已經存在,會覆蓋原先內容
file.write(‘this is an test file,\nAnd Alben is very hard study\n‘)
file.close()
writelines(list)
writelines是可以把列表寫入檔案的
#!/usr/bin/env python
a=["apple\n"]
b=["orange\n"]
c=["banana\n"]
file=open(‘lines.txt‘,‘w‘)
file.writelines(a)
file.writelines(b)
file.writelines(c)
file.close
需要注意的是,把列表寫入檔案的時候,writelines不支援換行,所以必須在列表中寫入分行符號
#!/usr/bin/env python
file=open("userdb","a+")
file.write("hello\n")
Python的檔案操作