python中的檔案操作

來源:互聯網
上載者:User

1. python中常用的檔案操作有open,write,read,readline,readlines,writelines,seek,tell,close等。

open的函數原型為open(name[,mode[,buffering]]),name為檔案的路徑名,常見的mode有’r’ (讀模式),’w’ (寫入模式),’a’追加模式,’b’ ( 二進位模式) ‘+’(可讀可寫入模式),buffering的值設為0,檔案的操作是沒有緩衝的,如果為1,表示有緩衝,讀寫在記憶體中進行然後從緩衝區寫入硬碟,讀寫效率更高。readline為讀取一行,readlines為讀取所有行,writelines向檔案寫入需要加上分行符號。在檔案讀寫完成後,需要調用close函數將檔案關閉。下面檔案讀寫操作的執行個體:有檔案D:\\so.txt,檔案內容是:

Life is too short to wake up in themorning with regrets.

So,

love the people who treat you rightand forget about the ones who do not.

下面是讀文本的方法:

#!/usr/bin/env pythonf=open('D:\\so.txt','r+')#f.write("hello world")for i in range(0,3):printf.readline()f.seek(0)lines=f.readlines()lines.append("\nlife is too short,weneed python")f.seek(0)f.writelines(lines)f.close()for line in open('D:\\so.txt','r+'):printline

在檔案的迭代讀取時,可以不適用變數變數隱藏檔對象,在檔案讀寫結束時也不必適用close關閉檔案對象。

使用with語句,也可以不調用close,因為這種情況下,檔案會自動關閉。如

with open(“D:\\so.txt”) as file:

printfile.readlines()

2. python 提供了shutil模組,它提供了進階檔案操作,如檔案的複製、移動和備份

(1) copyfile(src,dst)函數可以將檔案src複製到dst,src和dst都是字串形式的路徑名,如果src和dst是相同的路徑,則會引發錯誤,如果dst不是可寫的方式開啟的,會引發I/O異常,這個函數不能用於拷貝塊裝置檔案或者管道檔案。將上文中的so.txt拷貝到D:\\sotest.txt,只需調用copyfile(“D:\\so.txt”,”D:sotest.txt”)即可。

(2) 移動檔案可以使用move(src,dst),這裡如果dst是目錄,src檔案會移動到dst目錄下。使用move(“D:\\so.txt”,”E:”),可以將so.txt移動到E盤。

(3) 備份檔案

make_archive(base_name,format[,root_dir])

base_name 是將要建立的檔案名稱(去掉副檔名),format是備份的格式,可以是zip,tar,batar,gztar,root_dir是要備份的檔案,預設是當前的工作目錄

將D:\\sotest備份為myarchive,調用方法為make_archive(“myarchive”,zip,”D:\\sotest”)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.