<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                [TOC] ***** 讀取一個文本文件的內容,重新設置這些數據的格式并將其寫入文件,讓瀏覽器能夠顯示這些內容。要使用文本文件中的信息,首先需要將信息讀取到內存中。為此,你可以一次性讀取文件的全部內容,也可以以每次一行的方式逐步讀取。 ## 10.1.1 讀取整個文件 先準備被讀取文件,放在和執行文件同一目錄下 ![](https://img.kancloud.cn/3c/95/3c955264704159457d6581ce98be2d74_185x120.png) 執行讀取的程序文件 ``` filename = 'pi_digits.txt' with open(filename) as file_object: lines = file_object.readlines() for line in lines: print(line.rstrip()) ``` 函數open()接受一個參數:要打開的文件的名稱。 Python在當前執行的文件所在的目錄中查找指定的文件。 函數open()返回一個表示文件的對象。 關鍵字with在不再需要訪問文件后自動將其關閉 使用方法read()(前述程序的第2行)讀取這個文件的全部內容,并將其作為一個長長的字符串存儲在變量contents中。 通過打印contents的值,就可將這個文本文件的全部內容顯示出來: ![](https://img.kancloud.cn/67/58/6758d22b16f741d6d111bf9873af2a95_200x95.png) read()到達文件末尾時返回一個空字符串,而將這個空字符串顯示出來時就是一個空行。要刪除末尾的空行,可在print語句中使用rstrip() 方法rstrip()刪除(剝除)字符串末尾的空白。現在,輸出與原始文件的內容完全相同 ![](https://img.kancloud.cn/9f/0a/9f0a7604c78e9fefbff11fdebad5c946_148x89.png) ## 10.1.2 文件路徑 當你將類似pi_digits.txt這樣的簡單文件名傳遞給函數open()時, Python將在當前執行的文件(即.py程序文件)所在的目錄中查找文件。 相對文件路徑讓Python到指定的位置去查找,而該位置是相對于當前運行的程序所在目錄的。 Windows系統中,在文件路徑中使用反斜杠(\)而不是斜杠(/) ``` with open('text\_files\\filename.txt') as file_object: ``` 將文件在計算機中的準確位置告訴Python,這樣就不用關心當前運行的程序存儲在 什么地方了。這稱為絕對文件路徑 ``` **在winows中** file_path = 'C:\Users\ehmatthes\other_files\text_files\filename.txt' with open(file_path) as file_object: ``` ## 10.1.3 逐行讀取 讀取文件時,常常需要檢查其中的每一行。以每次一行的方式檢查文件,可對文件對象使用for循環: ``` filename = 'pi_digits.txt' #給返回的文件對象命名為file_object with open(filename) as file_object: # 執行循環來遍歷文件中的每一行 for line in file_object: print(line) ``` 我們打印每一行時,發現空白行更多了 ![](https://img.kancloud.cn/33/90/3390d3c0a0b5b858f2ba7cc4c7b4b673_230x80.png) ![](https://img.kancloud.cn/88/07/8807964714d0a511786e05767dc6fd20_888x362.png) ## 10.1.4 創建一個包含文件各行內容的列表 使用關鍵字with時, open()返回的文件對象只在with代碼塊內可用。如果要在with代碼塊外訪問文件的內容,可在with代碼塊內將文件的各行存儲在一個列表中,并在with代碼塊外使用該列表。 ``` filename = 'pi_digits.txt' with open(filename) as file_object: #將文件中的每一行存在列表中,該列表被存儲到變量lines中 lines = file_object.readlines() #在with外,循環讀取列表中的每一行 for line in lines: print(line.rstrip()) ``` 列表lines的每個元素都對應于文件中的一行 ![](https://img.kancloud.cn/d4/9d/d49dcf394d809289bbee2b3c3ac66667_858x123.png) ## 10.1.6 包含一百萬位的大型文件 前面我們分析的都是一個只有三行的文本文件,但這些代碼示例也可處理大得多的文件。如果我們有一個文本文件,其中包含精確到小數點后1 000 000位而不是30位的圓周率值,也可創建一個包含所有這些數字的字符串。為此,我們無需對前面的程序做任何修改,只需將這個文件傳遞給它即可。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看