python file(檔案) 方法
open() 方法
python open() 方法用於開啟乙個檔案,並返回檔案物件,在對檔案進行處理過程都需要使用到這個函式,如果該檔案無法被開啟,會丟擲 oserror。
注意:使用 open() 方法一定要保證關閉檔案物件,即呼叫 close() 方法。
open() 函式常用形式是接收兩個引數:檔名(file)和模式(mode)。
open
(file
, mode=
'r')
完整的語法格式為:
open
(file
, mode=
'r', buffering=-1
, encoding=
none
, errors=
none
, newline=
none
, closefd=
true
, opener=
none
)
引數說明:
模式 描述
模式 r r+ w w+ a a+
讀 + + + +
寫 + + + + +
建立 + + + +
覆蓋 + +
指標在開始
+ + + +
指標在結尾
+ +
import filetest
if __name__ ==
'__main__'
:try
:print
('檔案操作,處理異常開始:'
) filetestobj = filetest.filetest();
filetestobj.filetests(
)print
('檔案操作,處理異常結束:'
)except baseexception as argument:
print
(argument)
except valueerror as argument:
print
(argument)
from pip._vendor.distlib.compat import
raw_input
class
filetest
:def
__init__
(self)
: self.a =
1def
filetests
(self)
:try
:file
=raw_input
("請輸入你要操作的檔名和模式用逗號分割:"
)str
=file
.split(
",")
; fo =
open
(str[0
]+".txt"
,str[1
])string =
raw_input
("請輸入你要寫入的文字:"
) fo.write(string)
print
("檔名: "
, fo.name)
print
("訪問模式 : "
, fo.mode)
print
("是否已關閉 : "
, fo.closed)
# 開啟乙個檔案
fo =
open
(fo.name,
'r+'
) strall = fo.read(
)print
("讀取所有的字串是 : \n"
, strall)
# 查詢當前位置
position = fo.tell(
)print
("查詢當前檔案位置 : "
, position)
# 把指標再次重新定位到檔案開頭
print
("把指標再次重新定位到檔案開頭 : "
) position = fo.seek(0,
0)str5 = fo.read(5)
print
("讀取5個的字串是 : "
, str5)
# 把指標再次重新定位到檔案開頭
print
("把指標再次重新定位到檔案開頭 : "
) position = fo.seek(0,
0)str10 = fo.read(8)
print
("讀取8個的字串是 : "
, str10)
except valueerror:
print
("error:傳入無效的引數"
)else
:# 關閉開啟的檔案
print
("關閉開啟的檔案 : "
, fo.close(),
"\n"
)# 關閉開啟的檔案
fo.close(
)
read() 方法用於從檔案讀取指定的位元組數,如果未給定或為負則讀取所有。
runoob.txt 文字檔案內容:
1:www.runoob.com
2:www.runoob.com
3:www.runoob.com
4:www.runoob.com
5:www.runoob.com
fo = open(「runoob.txt」, 「rw+」)
print "檔名為: ", fo.name
line = fo.read(10)
print 「讀取的字串: %s」 % (line)
fo.close()
檔名為: runoob.txt
讀取的字串: 1:www.runo
一、read([size])方法
read([size])方法從檔案當前位置起讀取size個位元組,若無引數size,則表示讀取至檔案結束為止,它範圍為字串物件
f =
open
("a.txt"
)lines = f.read(
)print lines
print
(type
(lines)
)f.close(
)hello
welcome
what is the ...
<
type
'str'
>
#字串型別
二、readline()方法
從字面意思可以看出,該方法每次讀出一行內容,所以,讀取時占用記憶體小,比較適合大檔案,該方法返回乙個字串物件。
f =
open
("a.txt"
)line = f.readline(
)print
(type
(line)
)while line:
print line,
line = f.readline(
)f.close(
)<
type
'str'
>
hello
welcome
what is the .
..
三、readlines()方法讀取整個檔案所有行,儲存在乙個列表(list)變數中,每行作為乙個元素,但讀取大檔案會比較佔記憶體
f =
open
("a.txt"
)lines = f.readlines(
)print
(type
(lines)
)for line in lines:
print line,
f.close(
)輸出結果:
<
type
'list'
>
hello
welcome
what is the .
..
四、linecache模組
當然,有特殊需求還可以用linecache模組,比如你要輸出某個檔案的第n行:
# 輸出第2行
text = linecache.getline(『a.txt',2)
print text,
seek() 方法用於移動檔案讀取指標到指定位置。
seek() 方法語法如下:
fileobject.seek(offset[
, whence]
)
引數
返回值
如果操作成功,則返回新的檔案位置,如果操作失敗,則函式返回 -1。
f.seek(4,
0)#從開頭位置向後偏移4位元組
f.seek(3,
1)#從當前位置向後偏移3位元組
f.seek(-4
,1)#從當前位置向前偏移4位元組
f.seek(-3
,2)#從結尾位置向前偏移3位元組
初學python基礎
基本輸入輸出語句 res input 請隨便輸入 輸入操作 print res 輸出操作 print 周 s放假啦 res 佔位符格式化print引數解釋 value 需要輸出值,可多個 sep 間隔符號,預設空格,可修改 end 輸出語句後附加字元,預設換行 n file 將文字輸入到某檔案或資料...
怎樣學好python 零基礎如何學好Python?
零基礎如何學好python?其實零基礎學好python很簡單,python高階需要花費寫氣力,都說python簡單易學,那麼零基礎如何學好python?有哪些必須學的知識?學習的策略技巧有哪些?看傳智播客怎麼說 python上手很容易,基本有其他語言程式設計經驗的人可以在1週內學會python最基本...
python初學函式 python 初學函式
len s 金老闆小 len s def my len 自定義函式 i 0 for k in s i 1 print i length my len print length 函式 定義了之後,可以在任何需要它的地方呼叫 沒有返回長度,只是單純的列印 返回的重要性 a,b len a 內建函式 le...