python3(十三)File对象的属性
File對象的屬性
一個文件被打開后,你有一個file對象,你可以得到有關該文件的各種信息。
以下是和file對象相關的所有屬性的列表:
| file.closed | 返回true如果文件已被關閉,否則返回false。 |
| file.mode | 返回被打開文件的訪問模式。 |
| file.name | 返回文件的名稱。 |
| file.softspace | 如果用print輸出后,必須跟一個空格符,則返回false。否則返回true。 |
示例:
fo=open("ex0.txt","w") print("文件名",fo.name) print("是否已關閉",fo.closed) print("訪問模式:",fo.mode) # print("末尾是否強加空格:",fo.softspace) python3已經去除輸出:
文件名 ex0.txt 是否已關閉 False 訪問模式: w1. close()方法
File 對象的 close()方法刷新緩沖區(qū)里任何還沒寫入的信息,并關閉該文件,這之后便不能再進行寫入。
當一個文件對象的引用被重新指定給另一個文件時,Python 會關閉之前的文件。用 close()方法關閉文件是一個很好的習慣。
語法:
fileObject.close()2. 讀寫文件
write()方法:
write()方法可將任何字符串寫入一個打開的文件。需要重點注意的是,Python字符串可以是二進制數據,而不是僅僅是文字。
write()方法不會在字符串的結尾添加換行符(‘\n’):
示例:
fo=open("ex3.txt","w") fo.write("www.baidu.com\n")fo.close()結果:
上述方法會創(chuàng)建一個ex3.txt文件,并將“www.baidu.com”寫入文件,并最終關閉文件。
read()方法:
read()方法從一個打開的文件中讀取一個字符串。需要重點注意的是,Python字符串可以是二進制數據,而不是僅僅是文字。
語法:
fileObject.read([count])在這里,被傳遞的參數是要從已打開文件中讀取的字節(jié)計數。該方法從文件的開頭開始讀入,如果沒有傳入count,它會嘗試盡可能多地讀取更多的內容,很可能是直到文件的末尾。
示例:
fo=open("ex3.txt","r+") str=fo.read(10) print("讀取的字符串是:",str) fo.close()結果:
讀取的字符串是: www.baidu.3. 文件定位
tell()方法告訴你文件內的當前位置, 換句話說,下一次的讀寫會發(fā)生在文件開頭這么多字節(jié)之后。
seek(offset [,from])方法改變當前文件的位置。Offset變量表示要移動的字節(jié)數。
From變量指定開始移動字節(jié)的參考位置。如果from被設為0,這意味著將文件的開頭作為移動字節(jié)的參考位置。如果設為1,則使用當前的位置作為參考位置。如果它被設為2,那么該文件的末尾將作為參考位置。
示例1:
fo=open("ex3.txt","r+") str=fo.read(10) print("讀取的字符串是:",str)#查找當前位置 position=fo.tell() print("當前文件位置:",position)#把指針再次重新定位到文件開頭 position=fo.seek(0,0) str=fo.read(2) print("重新獲取字符串:",str)fo.close()結果:
讀取的字符串是: www.baidu. 當前文件位置: 10 重新獲取字符串: ww示例2:
fo=open("ex3.txt","r+") str=fo.read(10) print("讀取的字符串是:",str)#查找當前位置 position=fo.tell() print("當前文件位置:",position)#把指針再次重新定位到文件開頭 position=fo.seek(0,1) str=fo.read(2) print("重新獲取字符串:",str)fo.close()結果:
讀取的字符串是: www.baidu. 當前文件位置: 10 重新獲取字符串: co4. 文件重命名和刪除
python的os模塊提供了幫你執(zhí)行文件處理操作的方法,比如重命名和刪除文件。要使用這個模塊,你必須先導入它,然后才可以調用相關的各種功能。
文件重命名:rename()方法
rename()方法需要兩個參數,當前的文件名和新文件名。
語法:
os.rename(current_file_name, new_file_name)示例:
import osos.rename("ex3.txt","eee.txt")結果:
文件刪除:remove()方法
可以用remove()方法刪除文件,需要提供要刪除的文件名作為參數。
語法:
os.remove(file_name)示例:
import os # 刪除一個已經存在的文件eee.txt os.remove("eee.txt")python File方法
簡要介紹幾個常用的:
1) file next():返回文件下一行
語法:
fileObject.next()2)file read():讀取指定字節(jié)數,如果未給定或為負,則讀取所有
語法:
fileObject.read([size])示例:
fo=open("ex3.txt","r+") str=fo.read(10) print("讀取的字符串是:",str)#查找當前位置 position=fo.tell() print("當前文件位置:",position)#把指針再次重新定位到文件開頭 position=fo.seek(0,1) str=fo.read(2) print("重新獲取字符串:",str)fo.close()結果:
讀取的字符串是: www.baidu. 當前文件位置: 10 重新獲取字符串: co3)file.readline([size]):讀取整行,包括 “\n” 字符。如果指定了一個非負數的參數,則返回指定大小的字節(jié)數,包括 “\n” 字符。
語法:
fileObject.readline()示例:
ex2.txt的內容:
代碼:
fo=open("ex2.txt","r+") print("文件名為:",fo.name) line=fo.readline() print("讀取第一行 %s " % (line))line=fo.readline(5) print("讀取的字符串為:%s" % (line))fo.close()結果:
文件名為: ex2.txt 讀取第一行 0.228628 -2.266273讀取的字符串為:0.9654)file.readlines([sizehint]):讀取所有行并返回列表
若給定sizeint>0,則是設置一次讀多少字節(jié),這是為了減輕讀取壓力。
語法:
fileObject.readlines( )示例:
fo=open("ex2.txt","r+") print("文件名為:",fo.name)for line in fo.readlines():line=line.strip()print("讀取的數據為: %s" % (line))fo.close()結果:
將ex2.txt的所有內容都讀取了
總結
以上是生活随笔為你收集整理的python3(十三)File对象的属性的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 荷兰国旗问题
- 下一篇: (攻防世界) -- pwn入门 -- 新