python学习必会知识点:对文件操作详解
python文件讀寫示例
with open(file_w_path, 'r') as f_r:with open(file_r_path, 'w') as f_w:for line in f_r.readlines():f_w.write(line + '\n')覆蓋和追加細節(jié)
- r:只讀方式打開文件,缺省默認。
- r+:讀寫方式打開文件。
- w:只寫方式打開文件,若文件存在以覆蓋方式寫入,不存在則創(chuàng)建該文件(注意目錄無法創(chuàng)建,即指定文件位置的目錄不存在會報錯)
- w+:讀寫方式代開文件,文件存在則覆蓋寫入。
- a:追加方式打開文件,文件指針會放在文件結(jié)尾。
- a+:追加讀寫。
python三種讀取文件方式:
- read()
- readline()
- readlines()
然而它們的區(qū)別是什么呢,在平時用到時總會遇到,今天總結(jié)一下。
1.前期工作
首先新建一個文件read.txt,用于實際效果舉例
Hello welcome to my world you are so clever !!!2.read()
read(size)方法從文件當(dāng)前位置起讀取size個字節(jié),默認(無參數(shù))表示讀取至文件結(jié)束為止,它的返回為字符串對象
測試程序如下:
import os with open(os.path.join(os.getcwd(), 'read.txt')) as f:content = f.read()print(content)print(type(content))這里需要注意兩點:
-
我用到了os相關(guān)操作,即省去了需要輸入文件完整路徑的麻煩。
-
大家要養(yǎng)成with open file as f: 這一習(xí)慣,即操作完畢后讓其自動關(guān)閉文件。
3.readline()
每次只讀一行內(nèi)容,讀取時內(nèi)存占用較少(適用于大文件),它的返回為字符串對象
測試程序:
import os with open(os.path.join(os.getcwd(), 'read.txt')) as f:while True:line = f.readline()if line:print(line)else: break輸出結(jié)果:
Hello<class 'str'>Process finished with exit code 04.readlines()
讀取文件所有行,保存在列表(list)變量中,列表中每一行為一個元素,它返回的是一個列表對象。
測試程序:
''' 遇到問題沒人解答?小編創(chuàng)建了一個Python學(xué)習(xí)交流QQ群:531509025 尋找有志同道合的小伙伴,互幫互助,群里還有不錯的視頻學(xué)習(xí)教程和PDF電子書! ''' import os with open(os.path.join(os.getcwd(), 'read.txt')) as f:content = f.readlines()print(content)print(type(content))輸出結(jié)果:
['Hello\n', 'welcome to my world\n', '1234\n', 'you are so clever !!!'] <class 'list'>Process finished with exit code 0seek
用于移動文件讀取指針到指定位置
itertools.islice()
直接讀取文件制定行
#讀取文件前50行 for line in itertools.islice(f, 50):pass#跳過文件第一行讀取文件 for line in itertools.islice(f, 1, None):pass看懂了嗎?不懂關(guān)系,小編創(chuàng)建了一個Python學(xué)習(xí)交流QQ群:531509025,群里有大量基礎(chǔ)入門知識,都是從零開始的,群里還有專業(yè)的人給你解答問題。尋找有志同道合的小伙伴,互幫互助,群里還有不錯PDF電子書!
總結(jié)
以上是生活随笔為你收集整理的python学习必会知识点:对文件操作详解的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python学习基础必备知识点:字典di
- 下一篇: python3获得命令行输入的参数