Python基础(5) - 文件
Python
Python提供的函數和方法方便地對文件進行讀、寫、刪除等的操作。
open()函數返回一個文件對象。
open(name[, mode[, buffering]]) -> file object
filename是你要操作的文件名,如果不在當前路徑,需指出具體路徑。mode是打開文件的模式,表示你要如何操作文件,bufsize表示是否使用緩存。
mode模式?:
r?以讀方式打開文件,可讀取文件信息。
w?以寫方式打開文件,可向文件寫入信息。
a?以追加方式打開文件,文件指針自動移到文件尾。
r+?以讀寫方式打開文件,可對文件進行讀和寫操作。
w+?消除文件內容,然后以讀寫方式打開文件。
a+?以讀寫方式打開文件,并把文件指針移到文件尾。
b?以二進制模式打開文件,而不是以文本模式
方法 ?描述
f.close() ?關閉文件,記住用open()打開文件后一定要記得關閉它,否則會占用系統的可打開文件句柄數。
f.fileno() ?獲得文件描述符
f.flush() ?刷新輸出緩存
f.isatty() ?如果文件是一個交互終端,則返回True,否則返回False。
f.read([count]) ?讀出文件,如果有count,則讀出count個字節。
f.readline() ?讀出一行信息。(文件EOF讀出的是空串)
f.readlines() ?讀出所有行,也就是讀出整個文件的信息。
f.seek(offset[,where]) ?把文件指針移動到相對于where的offset位置。offset為0表示文件開始處,這是默認值 ;1表示當前位置;2表示文件結尾。
f.tell() ?獲得文件指針位置。
f.truncate([size]) ?截取文件,使文件的大小為size。
f.write(string) ?把string字符串寫入文件。
f.writelines(list) ?把list中的字符串一行一行地寫入文件。
如何從文件中快速有效的讀取每一行內容?
line = f.readline() while line:print lineline = f.readline()for line in f.readlines():print linefor line in f:print line?
pickle模塊(對象的序列化):
pickle.dump(x, f)
把對象x 序列化后保存到文件f中
x = pickle.load(f)
從文件f中還原對象x
>>> f = open('d:\\a.txt','w') >>> a = ['aaa','bbb','ccc'] >>> import pickle >>> pickle.dump(a,f) >>> f.close() >>> >>> f = open('d:\\a.txt','r') >>> l = pickle.load(f) >>> l ['aaa', 'bbb', 'ccc'] >>>a.txt: (lp0 S'aaa' p1 aS'bbb' p2 aS'ccc' p3 a.文件相關函數:
| Module(s) | Contents |
| fileinput | iterates over lines of multiple input text files |
| getopt | provides command-line argument parsing/manipulation |
| glob/fnmatch | provides Unix-style wildcard character matching |
| gzip/zlib/zipfile | allows file access to include automatic de/compression |
| shutil | offers high-level file access functionality |
| c/StringIO | implements file-like interface on top of string objects |
| os | Miscellaneous operating system interfaces |
| tempfile | generates temporary file names or files |
?
?
?
?
?
轉載于:https://www.cnblogs.com/TonyZhao/p/3527852.html
總結
以上是生活随笔為你收集整理的Python基础(5) - 文件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ResorceGovernor--基础和
- 下一篇: 预留创建时检查增强点:nbsp;MB_R