• <del id="a8uas"></del>
    • 千鋒教育-做有情懷、有良心、有品質的職業教育機構

      400-811-9990
      手機站
      千鋒教育

      千鋒學習站 | 隨時隨地免費學

      千鋒教育

      掃一掃進入千鋒手機站

      領取全套視頻
      千鋒教育

      關注千鋒學習站小程序
      隨時隨地免費學習課程

      上海
      • 北京
      • 鄭州
      • 武漢
      • 成都
      • 西安
      • 沈陽
      • 廣州
      • 南京
      • 深圳
      • 大連
      • 青島
      • 杭州
      • 重慶
      當前位置:合肥千鋒IT培訓  >  技術干貨  >  Python處理文件的幾個常用小知識

      Python處理文件的幾個常用小知識

      來源:千鋒教育
      發布人:xqq
      時間: 2023-11-05 20:12:54

      python這門語言有個很大的用途就是使用它來進行文件處理,學會處理文件和保存數據可以讓你的程序使用起來更加容易和方便,因此小編為大家準備了幾個處理文件常用的幾個小知識,快來一起學習吧!

      1、讀取文件數據

      文本文件可存儲的數據量非常豐富,像天氣數據、交通數據、文學作品等。每當我們需要分析或修改儲存在文件中的信息時,讀取文件就顯得尤為重要。想讀取一個文件的信息,我們可以一次性讀取全部內容,也可以每次一行逐步讀取。

      讀取整個文件

      我們先來創建一個包含幾行文本的文件,在編輯器中輸入以下數據行,保存為txt格式:

      pi.txt:

      3.1415926535

      8979323846

      2643383279

      打開并讀取該文件:

      withopen('pi.txt')asfile:

      contents=file.read()

      print(contents)

      在這行程序中,出現了兩個函數open()和read()。

      函數open()用于打開一個文件,它接受的參數是要打開文件的名稱,Python會在當前執行的文件目錄中查找指定的文件,然后返回一個表示文件的對象。

      方法read()用于讀取這個文件的全部內容,并將其作為一個長長的字符串儲存在變量contents中。但這段程序的運行結果大家可以嘗試一下,它會把這個文本的內容全部輸出并在最后多出一行空行,這是因為read()到達文件末尾時會返回一個空字符串,顯示在結果就是一個空行。如果想要刪除末尾的空行,可以在print中使用rstrip():

      print(contents.rstrip())

      關于文件路徑,我們需要注意的是,Linux系統和windows有一點不同:

      在Linux和OSX中(使用斜杠/):

      withopen('files/filename.txt')asfile_object:

      在Windows中(使用反斜杠\):

      withopen('files\filename.txt')asfile_object:

      逐行讀取

      如果想每次一行的讀取文件,可對文件對象使用for循環:

      filename='pi.txt'

      withopen(filename)asfile:

      forlineinfile:

      print(line)

      同樣,為了刪除每一行多余出來的空行,我們可以使用rstrip():

      filename='pi.txt'

      withopen(filename)asfile:

      forlineinfile:

      print(line.rstrip())

      創建一個包含文件各行內容的列表

      當使用with時,open()返回的文件對象只能在with代碼塊內使用。如果想要在代碼塊外訪問文件內容時,我們可以在with代碼塊內將文件的各行儲存在一個列表中,并在with代碼塊外使用該列表訪問。

      filename='pi.txt'

      withopen(filename)asfile:

      lines=file.readlines()

      forlineinlines:

      print(line.rstrip())

      方法readlines()表示從文件中讀取每一行,并將其儲存在一個列表中。

      使用文件內容

      filename='pi.txt'

      withopen(filename)asfile:

      lines=file.readlines()

      ss=''

      forlineinlines:

      ss+=line.strip()

      print(ss)

      該程序運行結果為:3.141592653589793238462643383279

      2、寫入文件

      寫入空文件

      將文本寫入文件,可以在調用open()時提供另一個實參。即打開文件時,可以指定需要的模式:'r'讀取模式,'w'寫入模式,'a'附加模式,'r+'讀取和寫入模式。python默認只讀模式。

      withopen(filename,'w')asfile:

      file.write("abcdefg")

      注意:python只能將字符串寫入文本文件,如果想把數值數據儲存到文本文件,必須先使用函數str()將其轉為字符串格式。

      寫入多行

      withopen(filename,'w')asfile:

      file.write("abcdefg\n")

      file.write("hijklmn\n")

      存儲數據python中常使用json來存儲數據。json可以將簡單的python數據結構轉存到文件中,并在程序再次運行時加載該文件中的數據。

      JSON數據格式并非python專用,它是一種常用的數據格式,很有用,也易于學習。

      json.dump()和json.load()

      這兩個函數分別用于儲存數據和加載數據。json.dump()接受兩個實參:要儲存的數據和用于儲存數據的文件對象。json.load()用于加載存儲在json文件中的信息。

      importjson

      num=[1,2,3,4,5]

      filename='a.json'

      withopen(filename,'w')asf:

      json.dump(num,f)

      withopen(filename)asf:

      num=json.load(f)

      print(num)

      這是一種在程序之間共享數據的簡單方式。

      實現一個小功能

      下面這個程序可以實現我們常常在游戲開頭時遇到的一個小功能,一起來試試吧!

      importjson

      #如果以前儲存了用戶名就加載它,否則,就提示用戶輸入名字并存儲

      filename='name.json'

      try:

      withopen(filename)asf:

      username=json.load(f)

      exceptFileNotFoundError:

      name=input("你叫什么名字?")

      withopen(filename,'w')asf:

      json.dump(name,f)

      print("我們會記住你的,"+name+"!")

      else:

      print("歡迎回來,"+name+"!")

      以上內容為大家介紹了Python處理文件的幾個常用小知識,希望對大家有所幫助,如果想要了解更多Python相關知識,請關注IT培訓機構:千鋒教育。http://www.mobiletrain.org/

      聲明:本站稿件版權均屬千鋒教育所有,未經許可不得擅自轉載。

      猜你喜歡LIKE

      Python查看模塊中的屬性

      2023-11-05

      Python之三目運算

      2023-11-05

      Python 之模塊重載的五種方法

      2023-11-05

      最新文章NEW

      使用Black自由格式化Python

      2023-11-05

      入門Python的4大陷阱

      2023-11-05

      python經典最短代碼實現排序的功能

      2023-11-05

      相關推薦HOT

      更多>>

      快速通道 更多>>

      最新開班信息 更多>>

      網友熱搜 更多>>