如何使用 Python 獲取檔案統計資訊?


我們必須認識到,在 Python 程式設計的世界裡,獲取檔案統計資訊在有效處理和操作檔案方面起著至關重要的作用。無論您是新手還是經驗豐富的程式設計師,本文都將指導您完成使用 Python 檢索檔案統計資訊的流程。透過深入瞭解檔案處理的複雜性並釋放 Python 內建函式的潛力,我們將為您提供輕鬆訪問檔案寶貴統計資料的知識。

瞭解檔案統計資訊

在我們開始探索程式碼示例之前,讓我們嘗試瞭解檔案統計資訊的含義及其用途。檔案統計資訊包含與檔案相關的一系列資料,例如檔案大小、許可權、時間戳等。檢索這些統計資訊可以為您提供有價值的見解和理解,幫助您執行各種與檔案相關的操作並做出基於資料的決策。

基本檔案統計資訊

在這個第一個程式碼示例中,我們將學習如何使用 Python 獲取基本檔案統計資訊。在此程式碼中,我們首先匯入 os 模組;它提供了用於處理作業系統的函式。我們為 file_path 變數提供要檢索其統計資訊的 檔案路徑。使用 os.stat() 函式,我們獲取一個名為元組的物件 file_stats,其中包含各種檔案統計資訊。然後,我們訪問不同的統計資訊,例如檔案大小 (st_size)、上次修改時間戳 (st_mtime) 和建立時間 (st_ctime)。最後,我們列印獲取的檔案統計資訊以深入瞭解檔案的屬性。

示例

import os
# Specify the file path
file_path = '/path/to/your/file.txt'

# Get the file stats
file_stats = os.stat(file_path)

# Access individual stats
file_size = file_stats.st_size
last_modified = file_stats.st_mtime
creation_time = file_stats.st_ctime

# Print the file stats
print("File Size:", file_size, "bytes")
print("Last Modified:", last_modified)
print("Creation Time:", creation_time)

輸出

對於某個檔案,以下可能是輸出。

File Size: 24 bytes
Last Modified: 1689518818.7932744
Creation Time: 1689518818.7932744

將時間戳轉換為可讀格式

在下一個示例中,我們重點關注將從檔案統計資訊中獲得的時間戳更改為人類可讀的格式。

在這裡,我們首先確保匯入 os 模組和 datetime 模組;這些模組提供了用於操作日期和時間的類。我們為 file_path 變數提供感興趣檔案的路徑。在使用 os.stat() 獲取檔案統計資訊後,我們訪問上次修改時間戳 (st_mtime)。為了將時間戳轉換為可讀格式,我們使用 datetime.fromtimestamp() 方法,並將時間戳作為引數傳遞。透過應用 strftime() 方法,我們將時間戳格式化為字串格式。最後,我們列印格式化後的時間戳,以使用者友好的方式呈現。

示例

import os
from datetime import datetime


# Specify the file path
file_path = '/path/to/your/file.txt'

# Get the file stats
file_stats = os.stat(file_path)

# Access the last modified timestamp
last_modified = file_stats.st_mtime

# Convert the timestamp to a readable format
last_modified_str = datetime.fromtimestamp(last_modified).strftime("%Y-%m-%d %H:%M:%S")

# Print the formatted timestamp
print("Last Modified:", last_modified_str)

輸出

對於某個檔案,獲得了以下輸出。

Last Modified: 2023-07-16 14:47:07

檢查檔案可訪問性

在此示例中,我們將探討檢查檔案可訪問性的方法,以查詢檔案是否可以讀取、寫入或執行。

在此程式碼中,我們使用 os.access() 函式來驗證檔案的可訪問性。我們為 file_path 變數提供要分析的檔案的路徑。透過將不同的常量 (os.R_OK、os.W_OK、os.X_OK) 作為第二個引數傳遞給 os.access() 函式,我們分別檢查檔案是否具有讀、寫或執行許可權。發現如果檔案具有給定的訪問許可權,則該函式返回 True,否則返回 False。我們列印結果以顯示檔案的可訪問性狀態。

示例

import os

# Specify the file path
file_path = '/path/to/your/file.txt'

# Check file accessibility
is_readable = os.access(file_path, os.R_OK

)
is_writable = os.access(file_path, os.W_OK)
is_executable = os.access(file_path, os.X_OK)

#Print the results

print("Read Access:", is_readable)
print("Write Access:", is_writable)
print("Execute Access:", is_executable)

輸出

對於某個檔案,以下為輸出。

Read Access: True
Write Access: True
Execute Access: False

檢查檔案是否存在

在此程式碼示例中,我們將繼續使用 Python 確定檔案在給定路徑中是否存在。

在此程式碼段中,我們使用 os.path.exists() 函式來驗證檔案是否存在於某個路徑中。我們將 file_path 變數作為引數傳遞給該函式,如果檔案存在,則輸出 True,否則輸出 False。根據結果,我們列印相應的訊息以指示檔案是否存在。

示例

import os

# Specify the file path
file_path = '/path/to/your/file.txt'

# Check if the file exists
file_exists = os.path.exists(file_path)

# Print the result


if file_exists:
    print("File exists!")
else:
    print("File does not exist.")

輸出

對於某個檔案,以下為輸出。

File exists!

確定檔案型別

在此程式碼示例中,我們將展示如何使用 Python 確定檔案型別。

在此程式碼中,我們使用 os 模組查詢由 file_path 變數定義的檔案型別。透過使用 os.path.splitext() 函式,我們從路徑中提取副檔名。檔案擴充套件名錶示檔案型別,例如 .txt 表示文字檔案或 .jpg 表示影像檔案。我們透過選擇結果元組的第二個元素來訪問副檔名。最後,我們列印找到的檔案型別。

示例

import os

# Specify the file path
file_path = '/path/to/your/file.txt'

# Get the file type
file_type = os.path.splitext(file_path)[1]

# Print the file type
print("File Type:", file_type)

輸出

對於某個檔案,以下為輸出。

File Type: .txt

獲取檔案許可權

讓我們探索另一個程式碼示例,該示例展示瞭如何使用 Python 檢索檔案許可權。

在此程式碼段中,我們匯入 os 模組和 stat 模組,後者提供了用於解釋檔案許可權的常量。在使用 file_path 變數指定檔案路徑後,我們使用 os.stat() 檢索檔案統計資訊。透過應用按位與運算 (&) 與 stat.S_IRWXU(表示檔案所有者的許可權),我們提取檔案許可權。oct() 函式將許可權轉換為八進位制表示形式以提高可讀性。最後,我們列印獲得的檔案許可權。

示例

import os
import stat

# Specify the file path
file_path = '/path/to/your/file.txt'

# Get the file permissions
file_permissions = oct(os.stat(file_path).st_mode & stat.S_IRWXU)

# Print the file permissions
print("File Permissions:", file_permissions)

輸出

對於某個檔案,以下為輸出。

File Permissions: 0o600

在這篇綜合文章中,我們踏上了 Python 中檔案統計資訊領域的旅程。透過利用 Python 內建函式和模組的功能,我們探討了檔案處理的各個方面,包括獲取基本檔案統計資訊、轉換時間戳、檢查檔案可訪問性和確定檔案是否存在。有了這些知識,您現在擁有深入瞭解檔案操作的工具,使您能夠做出明智的決策並在您的檔案上執行精確的操作。必須注意的是,Python 的強大之處不僅在於其簡單性,還在於其輕鬆處理與檔案相關的任務的多功能性。您需要擁抱可能性,開拓新視野,並讓您的 Python 編碼工作蓬勃發展。

到目前為止,您必須已經意識到,瞭解檔案統計資訊對於有效管理和操作 Python 專案中的檔案至關重要。透過利用從本文獲得的知識,您擁有寶貴的技能集來解決複雜的檔案操作,提高程式碼效率,並確保資料的完整性和安全性。因此,利用 Python 的強大功能,踏上檔案操作精通之旅。

更新於: 2023年7月20日

929 次檢視

開啟您的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.