如何使用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日

923 次瀏覽

啟動您的職業生涯

完成課程獲得認證

開始
廣告
© . All rights reserved.