欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python文件常見操作實(shí)例分析【讀寫、遍歷】

 更新時(shí)間:2018年12月10日 09:39:24   作者:oOo右右  
這篇文章主要介紹了Python文件常見操作,結(jié)合實(shí)例形式分析Python針對文件的讀寫、遍歷等相關(guān)操作技巧,需要的朋友可以參考下

本文實(shí)例講述了Python文件常見操作。分享給大家供大家參考,具體如下:

1.文件是什么?

文件是存儲在外部介質(zhì)上的數(shù)據(jù)或信息集合,程序中源程序、數(shù)據(jù)中保存的數(shù)據(jù)、圖像中的像素?cái)?shù)據(jù)等等;

文件是有序的數(shù)據(jù)序列;

2.編碼:

信息從一種形式轉(zhuǎn)換為另一種形式的過程;ascII碼、Unicode、utf-8等等;

二進(jìn)制文件ascII碼:照片、音樂、視頻、計(jì)算機(jī)程序。。。

3.文件的基本操作

1)打開文件獲取文件對象

建立磁盤上的文件與源程序中的對象相關(guān)聯(lián),程序上叫打開文件,一旦文件被打開,文件的內(nèi)容就可以通過相關(guān)的文件對象獲得;

python中處理文件首先要創(chuàng)建一個(gè)文件對象與磁盤上的文件相關(guān)聯(lián),

open(),通常open方法可以立即分配一個(gè)文件對象變量:創(chuàng)建一個(gè)文件對象

open(磁盤文件名,打開方式)

eg:打開一個(gè)名為1.dat的文件:

>>>infile = open("1.dat","r")    #打開一個(gè)文件對象放在infile中
>>>infile = open("1.mp3","rb")

接下來就可以用文件指針來讀取磁盤上1.bat文件的內(nèi)容了

2)讀取文件--文件操作:就是對open創(chuàng)建的文件對象進(jìn)行操作

讀?。杭磳⑽募?shù)據(jù)讀入計(jì)算機(jī)內(nèi)存;

寫入:即從計(jì)算機(jī)內(nèi)存向文件寫入數(shù)據(jù);

定位:即定位文件讀寫位置;

其他:追加、計(jì)算等;

關(guān)閉文件:完成文件操作后需要關(guān)閉文件就是:切斷文件與程序的聯(lián)系,將文件緩沖區(qū)的數(shù)據(jù)寫入到磁盤,并釋放文件緩沖區(qū)。

注意:當(dāng)寫入信息到文件對象時(shí),只有在文件關(guān)閉后磁盤上的文件才會顯示變化。

例子:讀整個(gè)文件全部內(nèi)容

def main():
  fname = input("enter filename:") #首先提示用戶輸入文件名
  infile = open(fname,"r")#打開文件并賦值給文件對象變量infile
  data = infile.read()#文件的全部內(nèi)容被讀入在一個(gè)長字符串中并存儲在data變量中
  print(data)#輸出data在屏幕上
main()

例子:返回文件中5行數(shù)據(jù)

#連續(xù)調(diào)用readline()可以的到文件中連續(xù)行,readline()返回值都以換行符結(jié)束
#輸出文件前5行:
def main():
  infile=open("file_name","r")
  for i in range(5):
    line = infile.readline()
    print(line[:1])
#利用剪切操作去掉每行讀入的分隔符,如果輸出語句末尾有換行符,
#輸出操作就會自動跳到下一行,這樣輸出的文件內(nèi)容各行之間就會多出一個(gè)空行
main()

3)向文件對象寫進(jìn)數(shù)據(jù),open方式必須是w or wb

>>> outfile = open("outfile.txt","w")
#打開一個(gè)文件并進(jìn)行文件寫入操作,需要一個(gè)文件接受數(shù)據(jù),如果給出的文件名不存在則會創(chuàng)建一個(gè)新文件,如果給出的文件名存在,python將原文件刪除并創(chuàng)建一個(gè)新的空文件
>>> outfile.writelines(["hello","","liyue"])
>>> outfile.close()
>>> infile = open("outfile.txt","r")
>>> infile.read()
'hello liyue'

文件遍歷:是最常見的文件處理方法,例如copy文件、根據(jù)數(shù)據(jù)文件定義行走路徑、將文件由一種編碼轉(zhuǎn)換成另外一種編碼;

通用代碼框架:(遍歷文件模板:)

file = open(filename,"r")
for each_line in file.readlines():#當(dāng)文件很大會占用很大內(nèi)存
              #處理一行文件內(nèi)容
file.close()

簡化代碼框架:

file = open (filename,"r")
for each_line in file:
           #處理一行文件內(nèi)容
file.close()

舉例:文件拷貝

def main():
  #用戶輸入文件名
  f1 = input("輸入一個(gè)源文件:").strip()
  f2 = input("輸入一個(gè)源文件:").strip()
  #打開文件
  infile = open(f1,"r")
  outfile = open(f2,"w")
  #copy數(shù)據(jù)
  countLines = countChars = 0
  for line in infile:
    countLines +=1
    countChars +=len(line)
    outfile.write(line)
  print(countLines,"linesand",countChars,"char copied")
  infile.close()
  outfile.close()
main()

更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python文件與目錄操作技巧匯總》、《Python文本文件操作技巧匯總》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》及《Python入門與進(jìn)階經(jīng)典教程

希望本文所述對大家Python程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • pycharm2022沒有manage repositories配置鏡像源的解決方法

    pycharm2022沒有manage repositories配置鏡像源的解決方法

    本文主要介紹了pycharm2022沒有manage repositories配置鏡像源的解決方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02
  • python中幾種括號的使用()、[]、{}舉例說明

    python中幾種括號的使用()、[]、{}舉例說明

    這篇文章主要介紹了python中幾種括號的使用()、[]、{}舉例說明,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • Python PIL庫圖片灰化處理

    Python PIL庫圖片灰化處理

    這篇文章主要介紹了Python圖片灰化處理PIL庫的相關(guān)知識,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-04-04
  • 重寫django的model下的objects模型管理器方式

    重寫django的model下的objects模型管理器方式

    這篇文章主要介紹了重寫django的model下的objects模型管理器方式,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-05-05
  • python爬蟲模擬登錄之圖片驗(yàn)證碼實(shí)現(xiàn)詳解

    python爬蟲模擬登錄之圖片驗(yàn)證碼實(shí)現(xiàn)詳解

    眾所周知python是一個(gè)很強(qiáng)大的語言,它擁有眾多的庫,今天我嘗試了使用python進(jìn)行驗(yàn)證碼的識別,下面這篇文章主要給大家介紹了關(guān)于python爬蟲模擬登錄之圖片驗(yàn)證碼實(shí)現(xiàn)的相關(guān)資料,需要的朋友可以參考下
    2022-08-08
  • Python通過解析網(wǎng)頁實(shí)現(xiàn)看報(bào)程序的方法

    Python通過解析網(wǎng)頁實(shí)現(xiàn)看報(bào)程序的方法

    這篇文章主要介紹了Python通過解析網(wǎng)頁實(shí)現(xiàn)看報(bào)程序的方法,比較實(shí)用的功能,需要的朋友可以參考下
    2014-08-08
  • Python生成器generator用法示例

    Python生成器generator用法示例

    這篇文章主要介紹了Python生成器generator用法,結(jié)合實(shí)例形式分析了Python生成器generator常見操作技巧與相關(guān)注意事項(xiàng),需要的朋友可以參考下
    2018-08-08
  • Python運(yùn)行異常管理解決方案

    Python運(yùn)行異常管理解決方案

    這篇文章主要介紹了Python運(yùn)行異常管理解決方案,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-03-03
  • python腳本作為Windows服務(wù)啟動代碼詳解

    python腳本作為Windows服務(wù)啟動代碼詳解

    本篇文章給大家分享了用python腳本寫出作為Windows服務(wù)啟動功能,對此有需求的朋友跟著小編一起學(xué)習(xí)下。
    2018-02-02
  • keras中epoch,batch,loss,val_loss用法說明

    keras中epoch,batch,loss,val_loss用法說明

    這篇文章主要介紹了keras中epoch,batch,loss,val_loss用法說明,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-07-07

最新評論