Python open函式用法

2021-08-08 23:33:14 字數 1754 閱讀 6331

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+ )

注意:1、使用'w',檔案若存在,首先要清空,然後(重新)建立,

2、使用'a'模式 ,把所有要寫入檔案的資料都追加到檔案的末尾,即使你使用了seek()指向檔案的其他地方,如果檔案不存在,將自動被建立。

f.read([size]) size未指定則返回整個檔案,如果檔案大小》2倍記憶體則有問題.f.read()讀到檔案尾時返回""(空字串)

file.readline() 返回一行

file.readline([size]) 返回包含size行的列表,size 未指定則返回全部行

for line in f: print line #通過迭代器訪問

f.write("hello\n") #如果要寫入字串以外的資料,先將他轉換為字串.

f.tell() 返回乙個整數,表示當前檔案指標的位置(就是到檔案頭的位元數).

f.seek(偏移量,[起始位置])

用來移動檔案指標

偏移量:單位:位元,可正可負

起始位置:0-檔案頭,預設值;1-當前位置;2-檔案尾

f.close() 關閉檔案

1.開啟檔案會用到open函式,標準的python開啟檔案語法如下:

open(name[,mode[,buffering]])

open函式的檔名是必須的,而模式和緩衝引數都是可選的。比如說有個a.txt的文字檔案,存放在c:\text下,那麼你要開啟它可以這樣操作:

>>>x = open(r 'c:\text\a.txt')

用讀的模式開啟這個路徑下的對應文字檔案,如果要開啟對像不存在,程式會報錯。

2.開啟檔案過程中用到了『r』這個引數,在檔案開啟過程中還會用到很多操作方法,都有不同的引數來表示。'r'讀模式、'w'寫模式、'a'追加模式、'b'二進位制模式、'+'讀/寫模式。

3.>>>f = open('a.txt', 'w')

>>>f.write('hello,')

>>>f.write('iplaypython')

>>>f.close()

第一行:用寫的方式開啟a.txt這個檔案,並賦給f (python變數命名規則)

第二行:f.write方法寫入( )括號內的內容

第三行:同第二行意義相同,重點要說明下f.write寫入的內容會追加到檔案中已存在的資料後,也就是就此時的'iplaypython'是在'hello,'後邊顯示的。

第四行:最後呼叫close方法關閉檔案,有開啟就要有關閉。

Python open 函式用法詳解

一 檔案操作的流程 開啟檔案,得到檔案控制代碼並賦值給乙個變數 通過控制代碼對檔案進行操作 關閉檔案 具體步驟如下 f open test.txt encoding utf 8 開啟檔案 data f.read 檔案操作 print data f.close 關閉檔案二 open 函式的具體用法 o...

python open 函式使用

python open 函式用於開啟乙個檔案,建立乙個 file 物件,相關的方法才可以呼叫它進行讀寫。open name mode buffering 1.name 乙個包含了你要訪問的檔名稱的字串值。2.mode mode 決定了開啟檔案的模式 唯讀,寫入,追加等。所有可取值見如下的完全列表。這...

python open 函式 開啟檔案

函式原型為 open name mode buffer 其中name為必須,模式 mode 和緩衝 buffer 為可選。mode 有 r 讀模式 w 寫模式 a 追加方式 b 二進位制方式 讀 寫模式 f open a.txt w f.write hello,f.write iplaypython...