1呻袭、Python File close() 方法
close() 方法用于關(guān)閉一個已打開的文件喘漏。關(guān)閉后的文件不能再進行讀寫操作拴曲,否則會觸發(fā) ValueError 錯誤缺谴。 close() 方法允許調(diào)用多次窗骑。
當 file 對象女责,被引用到操作另外一個文件時,Python 會自動關(guān)閉之前的 file 對象创译。 使用 close() 方法關(guān)閉文件是一個好的習(xí)慣
demo:
#!/usr/bin/python
# -*- coding: UTF-8 -*-
# 打開文件
f = open("test.txt","wb")
print "文件名為: ", f.name
# 關(guān)閉文件
f.close()
以上實例輸出結(jié)果為:
文件名為:? test.txt
2抵知、Python File flush() 方法
flush() 方法是用來刷新緩沖區(qū)的,即將緩沖區(qū)中的數(shù)據(jù)立刻寫入文件昔榴,同時清空緩沖區(qū)辛藻,不需要是被動的等待輸出緩沖區(qū)寫入。
一般情況下互订,文件關(guān)閉后會自動刷新緩沖區(qū)吱肌,但有時你需要在關(guān)閉前刷新它,這時就可以使用 flush() 方法仰禽。
demo:
#!/usr/bin/python
# -*- coding: UTF-8 -*-
# 打開文件
f = open("test.txt","wb")
print "文件名為: ", f.name
# 刷新緩沖區(qū)
f.flush()
# 關(guān)閉文件
f.close()
3氮墨、Python File next() 方法
next() 方法在文件使用迭代器時會使用到,在循環(huán)中吐葵,next()方法會在每次循環(huán)中調(diào)用规揪,該方法返回文件的下一行,如果到達結(jié)尾(EOF)温峭,則觸發(fā) StopIteration猛铅。
#!/usr/bin/python
# -*- coding: UTF-8 -*-
# 打開文件
f = open("test.txt","rw+")
print "文件名為: ", f.name
for index in range(5):
???line = f.next()
???print "第 %d 行- %s" % (index, line)
# 關(guān)閉文件
f.close()
4、Python File read() 方法
read() 方法用于從文件讀取指定的字節(jié)數(shù)凤藏,如果未給定或為負則讀取所有
循環(huán)讀取文件的內(nèi)容:
#!/usr/bin/python
# -*- coding: UTF-8 -*-
# 打開文件
f = open("test.txt","rw+")
print "文件名為: ", f.name
line = f.read(10)
print "讀取的字符串: %s" % (line)
# 關(guān)閉文件
f.close()
5奸忽、Python File?readline() 方法
readline() 方法用于從文件讀取整行堕伪,包括 "\n" 字符。如果指定了一個非負數(shù)的參數(shù)栗菜,則返回指定大小的字節(jié)數(shù)欠雌,包括 "\n" 字符
#!/usr/bin/python
# -*- coding: UTF-8 -*-
# 打開文件
f = open("test.txt","rw+")
print "文件名為: ", f.name
line = f.readline()
print "讀取第一行%s" % (line)
line = f.readline(5)
print "讀取的字符串為: %s" % (line)
# 關(guān)閉文件
f.close()
6、Python File?readlines() 方法
readlines() 方法用于讀取所有行(直到結(jié)束符 EOF)并返回列表疙筹,若給定sizeint>0富俄,返回總和大約為sizeint字節(jié)的行, 實際讀取值可能比sizhint較大, 因為需要填充緩沖區(qū)。
如果碰到結(jié)束符 EOF 則返回空字符串而咆。
#!/usr/bin/python
# -*- coding: UTF-8 -*-
# 打開文件
f = open("test.txt","rw+")
print "文件名為: ", f.name
line = f.readlines()
print "讀取的數(shù)據(jù)為: %s" % (line)
line = f.readlines(2)
print "讀取的數(shù)據(jù)為: %s" % (line)
# 關(guān)閉文件
f.close()
6霍比、Python File write() 方法
write() 方法用于向文件中寫入指定字符串。
在文件關(guān)閉前或緩沖區(qū)刷新前暴备,字符串內(nèi)容存儲在緩沖區(qū)中桂塞,這時你在文件中是看不到寫入的內(nèi)容的
#!/usr/bin/python
# -*- coding: UTF-8 -*-
# 打開文件
fo = open("test.txt","w")
print "文件名為: ", fo.name
str = "W3Cschool教程"
fo.write( str )
# 關(guān)閉文件
fo.close()
7、Python File?writelines() 方法
writelines() 方法用于向文件中寫入一序列的字符串馍驯。
這一序列字符串可以是由迭代對象產(chǎn)生的,如一個字符串列表玛痊。
換行需要制定換行符 \n汰瘫。
writelines() 方法用于向文件中寫入一序列的字符串。
這一序列字符串可以是由迭代對象產(chǎn)生的擂煞,如一個字符串列表混弥。
換行需要制定換行符 \n。
#!/usr/bin/python
# -*- coding: UTF-8 -*-
# 打開文件
fo = open("test.txt","w")
print "文件名為: ", fo.name
seq = ["W3Cschool教程 1\n", "W3Cschool教程2"]
fo.writelines( seq )
# 關(guān)閉文件
fo.close()
8对省、Python File open() 方法
Python內(nèi)置的open()函數(shù)用于打開一個文件蝗拿,創(chuàng)建一個file對象,相關(guān)的輔助方法才可以調(diào)用它進行讀寫
file object = open(file_name [,access_mode][, buffering])
各個參數(shù)的細節(jié)如下:
???file_name:file_name變量是一個包含了你要訪問的文件名稱的字符串值蒿涎。
???access_mode:access_mode決定了打開文件的模式:只讀哀托,寫入,追加等劳秋。所有可取值見如下的完全列表仓手。這個參數(shù)是非強制的,默認文件訪問模式為只讀(r)玻淑。
???buffering:如果buffering的值被設(shè)為0嗽冒,就不會有寄存。如果buffering的值取1补履,訪問文件時會寄存行添坊。如果將buffering的值設(shè)為大于1的整數(shù),表明了這就是的寄存區(qū)的緩沖大小箫锤。如果取負值贬蛙,寄存區(qū)的緩沖大小則為系統(tǒng)默認雨女。