python 讀寫txt文件 json文件的實(shí)現(xiàn)方法
首先第一步,打開文件,有兩個(gè)函數(shù)可供選擇:open() 和 file()
①. f = open('file.txt',‘w')
...
file.close()
②. f = file('file.json','r')
...
file.close()#記得打開文件時(shí)最后不要忘記關(guān)閉!
open() 和 file() 都是Python的內(nèi)建函數(shù),返回一個(gè)文件對(duì)象,具有相同的功能,可以任意替換。使用語法為:
f = open(fileName, access_mode='r', buffering=-1)
第1個(gè)參數(shù)是文件名, 2,3參數(shù)有默認(rèn)值,參數(shù)2 決定了是以讀的方式‘r' ?還是寫的方式‘w' ?抑或別的方式打開文件。
打開的方式有:
r —— 讀 ; w —— 寫 ; a —— 追加,從EOF開始寫,即在文件末尾寫
r+ w+ a+ —— 都是以讀寫方式打開
rb —— 二進(jìn)制 讀 ; wb —— 二進(jìn)制 寫 ;rb+ wb+ ab+ —— 二進(jìn)制讀寫
例子:
fp = open('C:\Users\MPC\Desktop\說明.txt')# 默認(rèn)以讀的方式打開 fp = open('test.txt','w')# 寫方式打開 fp = open('data.json','a')#追加方式打開
第二步,對(duì)文件進(jìn)行操作
當(dāng)?shù)玫轿募?duì)象這個(gè)句柄以后(如例子中的fp),就可對(duì)文件進(jìn)行操作了。
文件對(duì)象的內(nèi)建操作方法有:輸入,輸出,文件內(nèi)移動(dòng),以及雜項(xiàng)操作
1. 輸入
函數(shù): read(),readline(),readlines()
將文件中的內(nèi)容讀入 到 一個(gè)字符串變量/列表 中
read() : 讀取整個(gè)文件到字符串變量中
例子:
fp = open('C:\Users\MPC\Desktop\說明.txt') all_file = fp.read()
read()有一個(gè)可選的size參數(shù),默認(rèn)為-1,表示文件將會(huì)被讀至末尾(EOF)
readline() :讀取打開文件中的一行,然后返回整行包括行結(jié)束符到 字符串變量中
readline()也有一個(gè)可選的參數(shù)size,默認(rèn)-1,表示讀至行結(jié)束符停止
readlines() : 讀取整個(gè)文件,返回一個(gè) 字符串列表 ,列表中的每個(gè)元素都是一個(gè)字符串,代表一行
例子:
fp = open('C:\Users\MPC\Desktop\說明.txt') lines = fp.readlines() for line in lines: ... fp.close()
或者 第2 3 行 簡(jiǎn)寫為:for line in fp.readlines():
在python2.3之后由于迭代器和文件迭代(即文件對(duì)象成為了他們自己的迭代器)的引入,
上例有一種更高效的實(shí)現(xiàn)方式:
fp = open('C:\Users\MPC\Desktop\說明.txt') for line in fp: ... fp.close()
推薦使用這種方法!
2. 輸出
函數(shù):write() , writelines()
將字符串/列表 輸出到文件中
write() : 將字符串輸出到文件
>>>f= open('test.txt','w') >>>f.write('Helloworld!') >>>f.close() >>>f= open('test1.txt','w') >>>f.write('Welcome\nto\n China!') >>>f.close() >>>f= open('test1.txt','w') >>>f.write('Welcome\nto\n China!') >>>f.close()
writelines(): 將字符串列表 寫入 文件,注意行結(jié)束符并不會(huì)自動(dòng)被加入,如果需要,必須手動(dòng)在每行的結(jié)尾加入行結(jié)束符。
什么意思呢? 看下例:
>>>s= ['你好','伙計(jì)'] >>>f= open('test.txt','w') >>>f.writelines(s) >>>f.close() >>>s= ['你好\n','伙計(jì)'] >>>f= open('test.txt','w') >>>f.writelines(s) >>>f.close() >>>f = open(r'I:\python\test.txt','w') >>>f.write('First line\n') >>>f.write('Second line\n') >>>f.write('Third line\n') >>>f.close() >>>lines = list(open(r'I:\python\test.txt')) >>>lines ['Firstline\n', 'Second line\n', 'Third line\n'] >>>first,second,third = open(r'I:\python\test.txt') >>>first 'Firstline\n' >>>second 'Secondline\n' >>>third 'Thirdline\n'
3. 文件內(nèi)移動(dòng)
函數(shù): seek() tell()
seek() :移動(dòng)文件讀取指針到制定的位置
tell(): 返回文件讀取指針的位置
seek()的三種模式:
(1)f.seek(p,0) 移動(dòng)當(dāng)文件第p個(gè)字節(jié)處,絕對(duì)位置
(2)f.seek(p,1) 移動(dòng)到相對(duì)于當(dāng)前位置之后的p個(gè)字節(jié)
(3)f.seek(p,2) 移動(dòng)到相對(duì)文章尾之后的p個(gè)字節(jié)
以上就是小編為大家?guī)淼膒ython 讀寫txt文件 json文件的實(shí)現(xiàn)方法全部?jī)?nèi)容了,希望大家多多支持腳本之家~
相關(guān)文章
Pandas實(shí)現(xiàn)數(shù)據(jù)類型轉(zhuǎn)換的一些小技巧匯總
這篇文章主要給大家匯總介紹了關(guān)于Pandas實(shí)現(xiàn)數(shù)據(jù)類型轉(zhuǎn)換的一些小技巧,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2018-05-05Python??序列化反序列化和異常處理的問題小結(jié)
這篇文章主要介紹了Python?序列化反序列化和異常處理,本文結(jié)合示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-12-12python3音樂播放器簡(jiǎn)單實(shí)現(xiàn)代碼
這篇文章主要為大家詳細(xì)介紹了python3音樂播放器簡(jiǎn)單實(shí)現(xiàn)代碼,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-06-06Python中將語音轉(zhuǎn)換為文本的實(shí)現(xiàn)方法
語音識(shí)別是計(jì)算機(jī)軟件識(shí)別口語中的單詞和短語并將其轉(zhuǎn)換為人類可讀文本的能力,在本教程中,您將學(xué)習(xí)如何使用SpeechRecognition 庫在 Python 中將語音轉(zhuǎn)換為文本,文中有相關(guān)的代碼供大家參考,需要的朋友可以參考下2024-01-01Python自然語言處理使用spaCy庫進(jìn)行文本預(yù)處理
這篇文章主要為大家介紹了Python自然語言處理使用spaCy庫進(jìn)行文本預(yù)處理,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-05-05python實(shí)現(xiàn)基于樸素貝葉斯的垃圾分類算法
這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)基于樸素貝葉斯的垃圾分類算法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-07-07python時(shí)間序列數(shù)據(jù)轉(zhuǎn)為timestamp格式的方法
這篇文章主要介紹了python時(shí)間序列數(shù)據(jù)轉(zhuǎn)為timestamp格式的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08certifi輕松地管理Python證書信任鏈保障網(wǎng)絡(luò)安全
在使用Python進(jìn)行網(wǎng)絡(luò)通信時(shí),我們通常需要使用第三方庫來處理HTTPS連接,其中,certifi庫是一個(gè)非常實(shí)用的庫,可以幫助我們輕松地管理Python的證書信任鏈2024-01-01