python3 第三十四章 - 聊聊File对象
file 對(duì)象使用 open 函數(shù)來創(chuàng)建,下表列出了 file 對(duì)象常用的函數(shù):
| ?1 | ?file.close() ? 方法用于關(guān)閉一個(gè)已打開的文件。關(guān)閉后的文件不能再進(jìn)行讀寫操作, 否則會(huì)觸發(fā) ValueError 錯(cuò)誤。 close() 方法允許調(diào)用多次。 ? ? 返回值:無(wú) 參數(shù):無(wú) | #!/usr/bin/python3# 打開文件 fo = open("python.txt", "wb") print("文件名為: ", fo.name)# 關(guān)閉文件 fo.close() |
| ?2 | ?file.flush() =========================== flush() 方法是用來刷新緩沖區(qū)的,即將緩沖區(qū)中的數(shù)據(jù)立刻寫入文件,同時(shí)清空緩沖區(qū),不需要是被動(dòng)的等待輸出緩沖區(qū)寫入。 ? 返回值:無(wú) 參數(shù):無(wú) | #!/usr/bin/python3# 打開文件 fo = open("python.txt", "wb") print ("文件名為: ", fo.name)# 刷新緩沖區(qū) fo.flush()# 關(guān)閉文件 fo.close() |
| ?3 | ?file.fileno() ? 返回值:返回文件描述符。 參數(shù):無(wú) | #!/usr/bin/python3# 打開文件 fo = open("python.txt", "wb") print ("文件名為: ", fo.name)fid = fo.fileno() print ("文件描述符為: ", fid)# 關(guān)閉文件 fo.close() |
| ?4 | ?file.isatty() ? 返回值:如果連接到一個(gè)終端設(shè)備返回 True,否則返回 False。 參數(shù):無(wú) | #!/usr/bin/python3# 打開文件
fo = open("python.txt", "wb")
print ("文件名為: ", fo.name)ret = fo.isatty()
print ("返回值 : ", ret)# 關(guān)閉文件
fo.close() ? |
| ?5 | ?file.next() ? Python 3 中的 File 對(duì)象不支持 next() 方法。 Python 3 的內(nèi)置函數(shù) next() 通過迭代器調(diào)用 __next__() 方法返回下一項(xiàng)。 在循環(huán)中,next()方法會(huì)在每次循環(huán)中調(diào)用,該方法返回文件的下一行,如果到達(dá)結(jié)尾(EOF),則觸發(fā) StopIteration ? 返回值:返回文件下一行。 參數(shù):無(wú) | #!/usr/bin/python3# 打開文件
fo = open("python.txt", "r")
print ("文件名為: ", fo.name)for index in range(5):line = next(fo)print ("第 %d 行 - %s" % (index, line))# 關(guān)閉文件
fo.close() ? |
| ?6 | ?file.read([size]) ? ? 返回值:返回從字符串中讀取的字節(jié)。 參數(shù):size -- 從文件中讀取的字節(jié)數(shù)。 ? | ? #!/usr/bin/python3# 打開文件
fo = open("python.txt", "r+")
print ("文件名為: ", fo.name)line = fo.read(10)
print ("讀取的字符串: %s" % (line))# 關(guān)閉文件
fo.close() ? |
| ?7 | ?file.readline([size]) ? 方法用于從文件讀取整行,包括 "\n" 字符。如果指定了一個(gè)非負(fù)數(shù)的參數(shù),則返回指定大小的字節(jié)數(shù),包括 "\n" 字符。 ? 返回值:返回從字符串中讀取的字節(jié)。 參數(shù):size -- 從文件中讀取的字節(jié)數(shù)。 ? | ? #!/usr/bin/python
# -*- coding: UTF-8 -*-# 打開文件
fo = open("python.txt", "r+")
print ("文件名為: ", fo.name)line = fo.readline()
print ("讀取第一行 %s" % (line))line = fo.readline(5)
print ("讀取的字符串為: %s" % (line))# 關(guān)閉文件
fo.close() ? |
| ?8 | ?file.readlines([sizeint]) ? 該列表可以由 Python 的 for... in ... 結(jié)構(gòu)進(jìn)行處理。 如果碰到結(jié)束符 EOF 則返回空字符串。 ? 返回值:列表,包含所有的行。 參數(shù):sizeint -- 從文件中讀取的字節(jié)數(shù)。 | ? #!/usr/bin/python3# 打開文件
fo = open("python.txt", "r")
print ("文件名為: ", fo.name)for line in fo.readlines(): #依次讀取每行 line = line.strip() #去掉每行頭尾空白 print ("讀取的數(shù)據(jù)為: %s" % (line))# 關(guān)閉文件
fo.close() ? |
| ?9 | ?file.seek(offset[, whence]) ? 返回值:無(wú) 參數(shù): ?offset -- 開始的偏移量,也就是代表需要移動(dòng)偏移的字節(jié)數(shù) whence:可選,默認(rèn)值為 0。給offset參數(shù)一個(gè)定義,表示要從哪個(gè)位置開始偏移;0代表從文件開頭開始算起,1代表從當(dāng)前位置開始算起,2代表從文件末尾算起。 | ? #!/usr/bin/python3# 打開文件
fo = open("python.txt", "r+")
print ("文件名為: ", fo.name)line = fo.readline()
print ("讀取的數(shù)據(jù)為: %s" % (line))# 重新設(shè)置文件讀取指針到開頭
fo.seek(0, 0)
line = fo.readline()
print ("讀取的數(shù)據(jù)為: %s" % (line))# 關(guān)閉文件
fo.close() ? |
| ?10 | ?file.tell() ? ? 返回值:文件的當(dāng)前位置。 參數(shù):無(wú) ? | ? #!/usr/bin/python3# 打開文件
fo = open("python.txt", "r+")
print ("文件名為: ", fo.name)line = fo.readline()
print ("讀取的數(shù)據(jù)為: %s" % (line))# 獲取當(dāng)前文件位置
pos = fo.tell()
print ("當(dāng)前位置: %d" % (pos))# 關(guān)閉文件
fo.close() ? |
| ?11 | ?file.truncate([size])
? ? 返回值:無(wú) 參數(shù):size -- 可選,如果存在則文件截?cái)酁?size 字節(jié)。 ? | ? #!/usr/bin/python3
fo = open("python.txt", "r+")
print ("文件名: ", fo.name)line = fo.readline()
print ("讀取行: %s" % (line))fo.truncate()
line = fo.readlines()
print ("讀取行: %s" % (line))# 關(guān)閉文件
fo.close() ? |
| 12 | ?file.write(str) 在文件關(guān)閉前或緩沖區(qū)刷新前,字符串內(nèi)容存儲(chǔ)在緩沖區(qū)中,這時(shí)你在文件中是看不到寫入的內(nèi)容的。 ? 返回值:無(wú) 參數(shù):str -- 要寫入文件的字符串。 ? | ? #!/usr/bin/python3# 打開文件
fo = open("python.txt", "r+")
print ("文件名: ", fo.name)str = "text end"
# 在文件末尾寫入一行
fo.seek(0, 2)
line = fo.write( str )# 讀取文件所有內(nèi)容
fo.seek(0,0)
for index in range(6):line = next(fo)print ("文件行號(hào) %d - %s" % (index, line))# 關(guān)閉文件
fo.close() ? |
| 13 | ?file.writelines(sequence) ? ? 返回值:無(wú) 參數(shù):str -- 要寫入文件的字符串序列。 ? | ? #!/usr/bin/python3# 打開文件
fo = open("python.txt", "w")
print ("文件名為: ", fo.name)
seq = ["text 1\n", "text 2"]
fo.writelines( seq )# 關(guān)閉文件
fo.close() ? |
轉(zhuǎn)載于:https://www.cnblogs.com/mrbug/p/8922794.html
總結(jié)
以上是生活随笔為你收集整理的python3 第三十四章 - 聊聊File对象的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Oracle恢复删除的数据
- 下一篇: Python3入门(十一)——IO编程