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