如何使用 Python 從命令列讀取檔案?


對於 Python 開發人員來說,能夠透過命令列從檔案中提取資訊是一項基本技能。Python 為我們提供了強大的工具,可以無縫地透過命令列從檔案中讀取資料,無論是用於資料分析、資訊提取還是檔案處理。在本文中,我們將探討幾種不同的方法來透過 Python 的命令列介面實現檔案讀取。每種方法都具有其獨特的功能,使您能夠熟練地管理 Python 專案中的檔案操作。作為一名 Python 程式設計師,我們將透過清晰的解釋和真實的程式碼示例來指導您完成每種方法。在本文結束時,您將掌握使用 Python 透過命令列從檔案中檢索資料的方法。讓我們開始這段使用 Python 進行資料檢索的旅程吧!

理解命令列檔案讀取

在開始檢查和學習程式碼示例之前,讓我們先了解一下 Python 中命令列檔案讀取的概念。命令列檔案讀取是指透過終端或命令提示符執行 Python 指令碼,從檔案中提取資料,並執行各種操作,例如資料分析、處理或生成報告。

實際應用中的 "open()" 函式

我們的第一個示例透過使用 open() 函式讀取檔案中的資料來奠定基礎。

示例

def read_from_file(file_path):

   with open(file_path, 'r') as file:
     data = file.read()
   return data

在這個演示中,我們介紹了 read_from_file() 函式,該函式以 file_path 作為引數。然後,open() 函式以讀取模式 ('r') 開啟 file_path 指定的檔案。with 語句確保在讀取後自動關閉檔案。我們使用 read() 方法讀取檔案的全部內容,將其儲存在 data 變數中,然後將其返回給呼叫方。

釋放 readline() 用於逐行讀取

我們的第二個程式碼示例展示了 readline() 方法,揭示了它在逐行讀取檔案方面的強大功能。

示例

def read_lines_from_file(file_path):
   lines = []
   with open(file_path, 'r') as file:
     line = file.readline()
     while line:
       lines.append(line.strip())
       line = file.readline()
   return lines

在此程式碼場景中,我們介紹了 read_lines_from_file() 函式,它將 file_path 作為引數。open() 函式以讀取模式 ('r') 訪問 file_path 指定的檔案。'with 語句' 始終保證在讀取後關閉檔案。while 迴圈允許使用 readline() 方法讀取每一行,直到沒有剩餘行。使用 strip() 認真去除每一行的前導和尾隨空格,並將它們新增到 lines 列表中,最終將其返回給呼叫方。

揭示 readlines() 獲取所有行

我們的下一個示例演示了 readlines() 方法的使用,該方法從檔案中提取所有行,並將其作為列表呈現。

示例

def get_all_lines_from_file(file_path):
   with open(file_path, 'r') as file:
     lines = file.readlines()
   return [line.strip() for line in lines]

在這個示例中,我們介紹了 get_all_lines_from_file() 函式,它接受 file_path 作為引數。open() 函式執行其角色,以讀取模式 ('r') 訪問 file_path 指定的檔案。'with 語句' 保證在完成操作後關閉檔案。readlines() 方法繼續將檔案中的所有行捕獲為列表。列表推導式立即去除每一行的前導和尾隨空格,形成結果列表,然後將其提供給呼叫方。

利用 fileinput 讀取多個檔案

在我們的最後一個程式碼示例中,我們將釋放 fileinput 模組的強大功能,以讀取多個檔案中的資料。

示例

import fileinput

def read_multiple_files(file_paths):
   lines = []
   for line in fileinput.input(file_paths):
     lines.append(line.strip())
   return lines

在這個最後的程式碼片段中,read_multiple_files() 函式接受一個 file_paths 列表作為引數。fileinput.input() 函式繼續接受檔名列表,從而讀取多個檔案中的資料。for 迴圈讀取所有檔案中的每一行。在新增到 lines 列表之前,認真去除每一行的前導和尾隨空格。結果——一個包含指定檔案中所有行的列表——將提供給呼叫方。

Python 中的命令列檔案讀取使我們能夠透過終端或命令提示符高效地訪問和處理資料。無論是使用 open() 函式進行完整檔案讀取、使用 readline() 方法進行逐行提取、使用 readlines() 方法一次性顯示所有行,還是使用 fileinput 模組從多個檔案中檢索資料,每種方法都帶來了針對您特定資料檢索需求的獨特優勢。

在您的 Python 之旅中不斷進步時,請記住,能夠透過命令列讀取檔案中的資料會開啟一個充滿可能性的領域。練習資料檢索技能,您的 Python 專案將憑藉強大的命令列檔案讀取功能而騰飛。

更新於:2023年8月3日

11K+ 瀏覽量

啟動您的 職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.