Python的檔案操作

來源:互聯網
上載者:User

標籤:設定   需要   檔案操作   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的檔案操作

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.