Python——文件讀取

    咱們常常須要從文件中讀取數據,所以學會文件的讀取很重要,下面來介紹一下文件的讀取工做:git

    1.讀取整個文件安全

    pi_digits.text函數

    3.1415926535spa

      8979323846對象

      2643383279ip

    單純的讀取一個文件,咱們首先要打開文件,而後讀取裏面的內容,使用read()方法,讀取文件的所有內容,而後把讀取出來的內容進行賦給一個變量;以下所示:字符串

    file_reader.pyit

    with open('pi_digits.text') as file_object:io

        contents = file_object.read()class

        print(type(contents))

    print(contents)

     輸出結果以下:

    3.1415926535
    8979323846
    2643383279

      <class 'str'>

    還有一種方法讀取文件,咱們來看看,直接打開而後進行讀取,不使用with語句:

    f = open('pi_digits.text')
  contents = f.read()
  print(contents)
  f.close()

    這種方法直接讀取文件,可是要記得關閉文件,咱們要知道,咱們操做的是什麼,目的是什麼,若是咱們只是單純的讀取文件的內容,而不去修改它,那麼就單純使用open()方法,不用第二參數便可:

    第一種方法中,with open('pi_digits.text') as file_object:作了大量的工做。咱們先來看看open()。要以任何方式使用文件——哪怕僅僅打印其內容,都得先打開文件,這樣纔可以訪問它,並且第一種方法讀取以後,賦給變量contents,變量contents是一個字符串,不是列表,也不是元祖之類的,而只是單純的字符串狀況;第二種方法必須記得關閉文件。

    文件的相對路徑和絕對路徑

    這兩種方法的區別:with在再也不須要訪問文件後將其關閉。在這個程序中,注意到咱們調用了open(),但沒有調用close();咱們也能夠調用open()和close()來打開和關閉文件(第二種方法),但這樣作時,若是程序存在bug,致使close()語句未執行,文件將不會關閉。這看似微不足道,但未妥善地關閉文件可能會致使數據丟失或受損。若是在程序中過早地調用close(),咱們會發現須要使用文件時它已關閉(沒法訪問),這會致使更多的錯誤。並不是任何狀況下都能輕鬆地肯定文件的恰當時機,但經過使用前面所示的結構,可以讓Python去肯定:咱們只管打開文件,並在須要時使用它,Python自會在合適的時候自動將其關閉。

    因此這兩種方法都是能夠的,只是with打開的方式更安全一些,不須要咱們去肯定何時關閉文件,而open()直接打開的話就須要咱們本身去肯定何時要關閉文件,要使用close()方法關閉文件。

    2.逐行讀取

    f = open("pi_digits.text")
  for line in f:
    print(line.strip())
  f.close()

    咱們使用open()和close()方式打開文件,這種狀況下,咱們必定要記得關閉文件,以避免文件遭到破壞,咱們打開文件,

    也可使用with語句打開文件,這種方法讓咱們避免使用close()語句,系統會自動幫助咱們在合適的時機關閉文件,也不用擔憂異常的問題。

    with open('pi_digits.text') as f:
    for line in f:
      print(line)
    咱們使用with語句打開這個文件,並命名爲f,而後遍歷這個打開的文件,輸出每一行。這樣咱們就能夠實現按行讀取的方法。

    3.把文件讀取到一個列表中

    with open('pi_digits.text') as f:
    lines = f.readlines()
    print(lines)

    把文件讀取到一個列表中,readlines()方法是文件中讀取每一行,並將其存儲到一個列表中;接下來,該列表被存儲到變量lines中;讀取文件獲得一個列表的方法,咱們讀取這個文件,而且獲得一個列表

    f = open("pi_digits.text")
  lines = f.readlines()
  print(lines)

    f.close()

    咱們在直接使用open()打開文件的時候,必定要記得關閉文件,使用close()方法把文件關閉,這點可能常常會一不當心忘記,只記得打開文件,可是沒有關閉文件。

2、寫入文件

    保存數據的最簡單的方式之一是將其寫入到文件中。

    write_message.py

    with open('programming.text','w') as f:

    f.write("I love programming")

    在這個示例中,調用open()時提供了兩個實參。第一個實參也是要打開的文件的名稱;第二個實參("w")告訴Python,咱們要以寫入模式打開這個文件。打開文件時,可指定讀取模式('r')、寫入模式('w')、附加模式('a')或者讓咱們可以讀取和寫入文件的模式('r+').若是咱們省略了模式實參,Python將以默認的只讀模式打開文件

    讀取和寫入文件有兩種方法,一種是with語句打開文件;另外一種是open()和close()結合使用打開和讀取文件。

    咱們要知道咱們打開文件是作什麼若是隻是單純的打開和讀取文件,只須要open()便可;要是寫入的話,就須要指定第二參數。默認省略參數的狀況下是隻讀模式的。

    寫入的方式

    (1)寫入模式('r')

    (2)附加模式('a')

  with open("pi_digits.text",'a') as f:
     f.write("I love you,too,Really\n")
       f.write("I also love finding meanting in large datasets.\n")
     f.write("I love to start to make success.")

    寫入模式('r')和附加模式('a')都是向文件中寫入內容,不一樣的是寫入模式要覆蓋以前文件裏面的內容。

    若是咱們要寫入的文件不存在,函數open()將自動建立它。然而,以寫入('w')模式打開文件時千萬要當心,由於若是指定的文件已經存在,Python

將在返回文件對象前清空該文件。因此使用寫入模式('w')的時候必定要當心。

相關文章
相關標籤/搜索