最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python的文件操作方法匯總

 更新時(shí)間:2017年11月10日 08:50:07   作者:不進(jìn)_則退  
文件操作對編程語言的重要性不用多說,如果數(shù)據(jù)不能持久保存,信息技術(shù)也就失去了意義。按照本人經(jīng)驗(yàn),IO也是蠻頭疼的一件事,因?yàn)椴粫玫锰?,所以總是記不住API,每次都要重新google就會打斷思路,還不一定每次都快速得到正確的文章。

文件的讀操作

示例:

 print("->文件句柄的獲取,讀操作:")
 
 f = open('無題','r',encoding='utf8')
 d = f.read()
 f.close()
 print(d)
 
 print('->例二:')
 f = open('無題','r',encoding='utf8')
 e = f.read(9)
 f.close()
 print(e)
 #python3中,文件中一個中英文都占位1

運(yùn)行結(jié)果:

復(fù)制代碼

->文件句柄的獲取,讀操作:
昨夜星辰昨夜風(fēng)
畫樓西畔桂堂東
身無彩鳳雙飛翼
心有靈犀一點(diǎn)通
->例二:
昨夜星辰昨夜風(fēng)
畫

文件的寫操作

知識點(diǎn):

    1. 寫操作前,文件先格式化清空文件

    2.清空操作,在執(zhí)行open的w方法后,清空

print("寫的操作,寫文件的時(shí)候,不能調(diào)用讀方法,讀文件的時(shí)候,不能調(diào)用寫方法")
 
f = open('python','w',encoding='utf8')
f.write("I must learn python \nbecause, python is important \n")
f.write("java is better?")
f.write("maybe") #上面的語句,沒有加換行符,所以輸出的內(nèi)容是緊接的
f.close()

運(yùn)行結(jié)果:

打開文件后顯示如下

I must learn python 
because, python is important 
java is better?maybe

文件的append方法

語法格式:

f = open('文件名','a','encoding = utf8')

文件這種方法為追加模式:1, 空白文件中,直接從頭開始寫入內(nèi)容; 2 有內(nèi)容的文件,會在末尾開始繼續(xù)寫入內(nèi)容

示例:

f = open('python','a',encoding='utf8')
f.write("花開又花落")
f.close()

運(yùn)行結(jié)果:

I must learn python 
because, python is important 
java is better?maybe花開又花落
 

readline 和 readlines

 readline是逐行讀取

readlines是全文讀取

示例:

 print("readline方法")
 f = open('無題','r',encoding='utf8')
 a = f.readline()
 print("此時(shí)光標(biāo)位置:",f.tell())
 b = f.readline()
 print("此時(shí)光標(biāo)位置:",f.tell())
 print(a.strip()) #strip是字符串方法中去除空格和換行的方法
 print(b.strip())
 
 
 print("readlines方法,會將每行的內(nèi)容組成一個列表打印")
 f = open('無題','r',encoding='utf8')
 c = f.readlines()
 print(c)
 print(id(c))
 print(id(f))
 for i in c:
  print(i.strip())
 print("遍歷方法")
 f.seek(0)
 for i in f:
  print(i.strip())
 f.close() #文件的操作中,close()方法一定不能忘記

運(yùn)行結(jié)果:

readline方法
此時(shí)光標(biāo)位置: 23
此時(shí)光標(biāo)位置: 46
昨夜星辰昨夜風(fēng)
畫樓西畔桂堂東
readlines方法,會將每行的內(nèi)容組成一個列表打印
['昨夜星辰昨夜風(fēng)\n', '畫樓西畔桂堂東\n', '身無彩鳳雙飛翼\n', '心有靈犀一點(diǎn)通']
37826824
5344280
昨夜星辰昨夜風(fēng)
畫樓西畔桂堂東
身無彩鳳雙飛翼
心有靈犀一點(diǎn)通
遍歷方法
昨夜星辰昨夜風(fēng)
畫樓西畔桂堂東
身無彩鳳雙飛翼
心有靈犀一點(diǎn)通

文件的tell() 和 seek()方法

 示例:

f = open('無題','r',encoding='utf8')
f.read(4)
print('當(dāng)前光標(biāo)位置',f.tell())

f.seek(10)
print('當(dāng)前光標(biāo)位置',f.tell())
f.close()

#read時(shí),一個中文算三個字符

運(yùn)行結(jié)果:

當(dāng)前光標(biāo)位置 12
當(dāng)前光標(biāo)位置 10

文件操作之flush方法

import sys,time

for i in range(20):
 sys.stdout.write("#")
 sys.stdout.flush()
 time.sleep(1)


truncate方法

f = open('test','w')
f.write("hello")
f.write("\n")
f.write("python")
f.flush() #這樣不用執(zhí)行close方法,內(nèi)存中的數(shù)據(jù),就會寫入到disk
f.close()

f = open('test','a')
f.truncate(2) #截?cái)喾椒?光標(biāo)從2開始往后截取
f.close()

其他的文件方法: r+ 讀寫方法

基于字符read & write

最基本的文件操作當(dāng)然就是在文件中讀寫數(shù)據(jù)。這也是很容易掌握的?,F(xiàn)在打開一個文件以進(jìn)行寫操作:

fileHandle = open ( 'test.txt', 'w' )

‘w'是指文件將被寫入數(shù)據(jù),語句的其它部分很好理解。下一步就是將數(shù)據(jù)寫入文件:

fileHandle.write ( 'This is a test.\nReally, it is.' )

這個語句將“This is a test.”寫入文件的第一行,“Really, it is.”寫入文件的第二行。最后,我們需要做清理工作,并且關(guān)閉文件:

fileHandle.close()

正如你所見,在Python的面向?qū)ο髾C(jī)制下,這確實(shí)非常簡單。需要注意的是,當(dāng)你再次使用“w”方式在文件中寫數(shù)據(jù),所有原來的內(nèi)容都會被刪除。如果想保留原來的內(nèi)容,可以使用“a”方式在文件中結(jié)尾附加數(shù)據(jù):

fileHandle = open ( 'test.txt', 'a' ) 
fileHandle.write ( '\n\nBottom line.' ) 
fileHandle.close()

然后,我們讀取test.txt,并將內(nèi)容顯示出來:

fileHandle = open ( 'test.txt' ) 
print fileHandle.read() 
fileHandle.close()

以上語句將讀取整個文件并顯示其中的數(shù)據(jù)。

基于行的讀寫 line

fileHandle = open ( 'test.txt' ) 
print fileHandle.readline() # "This is a test." 
fileHandle.close() 

同時(shí),也可以將文件內(nèi)容保存到一個list中:

fileHandle = open ( 'test.txt' ) 
fileList = fileHandle.readlines() 
for fileLine in fileList: 
print '>>', fileLine 
fileHandle.close() 

 或者在文件中一次讀取幾個字節(jié)的內(nèi)容:

fileHandle = open ( 'test.txt' ) 
print fileHandle.read ( 1 ) # "T" 
fileHandle.seek ( 4 ) 
print FileHandle.read ( 1 ) # " "(原文有錯)

相關(guān)文章

  • 深入理解Python中的內(nèi)置函數(shù)map

    深入理解Python中的內(nèi)置函數(shù)map

    在Python中,map是一個非常實(shí)用的內(nèi)置函數(shù),它允許你對一個序列的所有元素執(zhí)行特定的操作,map函數(shù)的結(jié)果可以被轉(zhuǎn)換為一個列表,或者其他的可迭代對象,在本文中,我們將深入探討map函數(shù)的用法及其在實(shí)際編程中的應(yīng)用
    2023-06-06
  • Python json模塊與jsonpath模塊區(qū)別詳解

    Python json模塊與jsonpath模塊區(qū)別詳解

    這篇文章主要介紹了Python json模塊與jsonpath模塊區(qū)別詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-03-03
  • requests庫發(fā)送http請求的示例代碼

    requests庫發(fā)送http請求的示例代碼

    這篇文章主要介紹了Python?requests發(fā)送http請求的相關(guān)知識,requests是一個Python的第三方庫,用于發(fā)送HTTP請求,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2023-12-12
  • Python編程快速上手——正則表達(dá)式查找功能案例分析

    Python編程快速上手——正則表達(dá)式查找功能案例分析

    這篇文章主要介紹了Python正則表達(dá)式查找功能,結(jié)合具體實(shí)例形式分析了Python基于正則表達(dá)式遍歷查找指定格式文件的相關(guān)操作技巧,需要的朋友可以參考下
    2020-02-02
  • 使用 Python 獲取 Linux 系統(tǒng)信息的代碼

    使用 Python 獲取 Linux 系統(tǒng)信息的代碼

    在本文中,我們將會探索使用Python編程語言工具來檢索Linux系統(tǒng)各種信息,需要的朋友可以參考下
    2014-07-07
  • Python學(xué)習(xí)筆記整理3之輸入輸出、python eval函數(shù)

    Python學(xué)習(xí)筆記整理3之輸入輸出、python eval函數(shù)

    這篇文章主要介紹了Python學(xué)習(xí)筆記整理3之輸入輸出、python eval函數(shù)的相關(guān)資料,需要的朋友可以參考下
    2015-12-12
  • Python3獲取電腦IP、主機(jī)名、Mac地址的方法示例

    Python3獲取電腦IP、主機(jī)名、Mac地址的方法示例

    這篇文章主要介紹了Python3獲取電腦IP、主機(jī)名、Mac地址的方法,結(jié)合具體實(shí)例形式分析了Python3基于socket與uuid模塊針對電腦的IP、主機(jī)名、Mac地址等信息的讀取操作相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2019-04-04
  • np.ones的使用小結(jié)

    np.ones的使用小結(jié)

    本文主要介紹了np.ones的使用小結(jié),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03
  • 淺談python3中input輸入的使用

    淺談python3中input輸入的使用

    這篇文章主要介紹了淺談python3中input輸入的使用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • Python中json模塊load/loads方法實(shí)戰(zhàn)以及參數(shù)詳解

    Python中json模塊load/loads方法實(shí)戰(zhàn)以及參數(shù)詳解

    經(jīng)常在Python中對JSON格式的文件進(jìn)行操作,今天對這些操作做一個總結(jié),下面這篇文章主要給大家介紹了關(guān)于Python中json模塊load/loads方法實(shí)戰(zhàn)以及參數(shù)的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-08-08

最新評論

浪卡子县| 大化| 祁门县| 子长县| 图片| 太和县| 黔西县| 永善县| 集安市| 苍山县| 惠来县| 大同市| 乐亭县| 于都县| 安岳县| 林甸县| 城市| 衡东县| 江陵县| 汉川市| 杭锦后旗| 神池县| 韶关市| 顺昌县| 景东| 翁牛特旗| 轮台县| 安图县| 德庆县| 花莲县| 舟山市| 喀喇| 金平| 鹤岗市| 潞城市| 赣榆县| 库伦旗| 福安市| 金阳县| 兖州市| 松江区|