如何使用 Python 獲取與開啟檔案相關的系統配置資訊?


在 Python 程式設計領域,訪問與開啟檔案相關的系統配置資訊對於提供有關操作環境的有價值的見解非常有用。無論您是好奇的開發人員還是狂熱的愛好者,本文都將向您展示使用 Python 檢索與開啟檔案相關的系統配置詳細資訊的過程。透過利用 Python 的幾個內建模組和函式,我們將解鎖以無縫且高效的方式收集有關檔案的基本資訊的能力。我們將透過討論和練習幾個程式碼示例以及相應的解釋來學習這項技能。

瞭解系統配置資訊

在我們開始討論程式碼示例之前,讓我們先了解一下與開啟檔案相關的系統配置資訊的概念。系統配置資訊結合了廣泛的資料,包括與檔案相關的詳細資訊,例如檔案大小、檔案型別、檔案位置、檔案訪問許可權等等。透過獲取這些資訊,我們獲得了寶貴的見解,幫助我們瞭解開啟檔案的特性、特徵和屬性。

檢索檔案大小

在這個第一個程式碼示例中,我們將展示如何使用 Python 獲取開啟檔案的大小。

示例

在此程式碼中,我們首先匯入 os 模組;它提供了與作業系統互動的函式。我們為 file_path 變數提供要檢索其資訊的 檔案的路徑。使用 open() 函式,我們在“with 語句”中以讀取模式開啟檔案,以確保正確管理資源。透過使用 file.fileno() 函式訪問檔案的檔案描述符,我們使用 os.fstat() 獲取檔案的大小。最後,我們以位元組為單位列印檔案大小。

import os

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

# Open the file in read mode
with open(file_path, 'r') as file:
   # Get the file size
   file_size = os.fstat(file.fileno()).st_size

# Print the file size
print("File Size:", file_size, "bytes")

輸出

對於某個特定檔案,我們得到以下輸出

File Size: 24 bytes

獲取檔案型別

在本例中,我們將探討如何使用 Python 確定開啟檔案的型別。

示例

在此程式碼段中,我們首先安裝 python-magic 包,然後匯入 magic 模組,該模組提供了一種與平臺無關的方式來確定檔案型別。我們為 file_path 變數提供感興趣的檔案的路徑。在“with 語句”中以二進位制模式開啟檔案,我們讀取檔案的內容並將其傳遞給 magic.from_buffer()。透過設定 mime=True,我們提取檔案的檔案 MIME 型別。最後,我們列印確定的檔案型別。

! pip install python-magic
import magic

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

# Open the file
with open(file_path, 'rb') as file:
   # Determine the file type
   file_type = magic.from_buffer(file.read(), mime=True)

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

輸出

對於某個特定檔案,我們得到以下輸出

File Type: text/plain

檢索檔案位置

讓我們探討另一個程式碼示例,該示例展示或演示如何使用 Python 獲取開啟檔案的位置。

示例

在此程式碼中,我們再次匯入 os 模組。我們為 file_path 變數提供要檢索其資訊的 檔案的路徑。在“with 語句”中,我們以讀取模式開啟檔案。透過使用 `file.name 訪問檔名並應用 os.path.realpath()`,我們獲取檔案的真實(絕對)路徑。最後,我們列印檔案位置。

import os

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

# Open the file in read mode
with open(file_path, 'r') as file:
    # Get the file location
    file_location = os.path.realpath(file.name)

# Print the file location
print("File Location:", file_location)

輸出

對於某個特定檔案,以下是輸出

File Location: /content/file2.txt

獲取檔案訪問許可權

最後,這是一個示例,您可以在其中探索如何使用 Python 檢索開啟檔案的訪問許可權。

示例

在此示例中,我們再次匯入 os 模組。我們為 file_path 變數指定感興趣的檔案的路徑。在 with 語句中,我們以讀取模式開啟檔案。透過使用 file.fileno() 訪問檔案的檔案描述符,我們可以使用 os.fstat() 獲取檔案許可權。應用與 0o777(表示檔案的許可權)的按位 AND 操作,我們獲取檔案許可權。最後,我們將檔案許可權列印到螢幕上。

import os

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

# Open the file in read mode
with open(file_path, 'r') as file:
    # Get the file permissions
    file_permissions = oct(os.fstat(file.fileno()).st_mode & 0o777)

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

輸出

對於某個特定檔案,以下是輸出

File Permissions: 0o644

檢索檔案訪問許可權

在本文討論的另一個示例中,我們將展示如何使用 Python 獲取開啟檔案的訪問許可權。

示例

在此程式碼段中,我們再次匯入 os 模組。我們將 file_path 變數設定為我們要從中檢索資訊的 檔案的路徑。在“with 語句”中以讀取模式開啟檔案,我們使用 file.fileno() 訪問檔案的檔案描述符。透過使用 os.stat(),我們檢索檔案的檔案訪問許可權。我們使用與 0o777 的按位 AND 操作 (&) 來提取許可權位。最終,我們使用 oct() 函式以八進位制格式列印獲得的檔案訪問許可權。

import os

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

# Open the file in read mode
with open(file_path, 'r') as file:
   # Get the file access permissions
   file_permissions = os.stat(file.fileno()).st_mode & 0o777

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

輸出

對於某個特定檔案,以下是輸出

File Access Permissions: 0o644

在本篇關於使用 Python 獲取與開啟檔案相關的系統配置資訊的廣泛探索中,我們已經詳細討論了檔案大小、檔案型別、檔案位置、檔案訪問許可權、檔案建立時間和檢索檔案訪問許可權等各個方面。透過利用 Python 的內建模組和函式(如 os、magic 和 time)的功能,我們已經解鎖了輕鬆收集有關開啟檔案的關鍵資訊的能力。

但是必須記住,瞭解系統配置資訊可以更深入地瞭解您互動的檔案;這使您能夠編寫更健壯和高效的程式碼。您現在可以利用 Python 的強大功能,並開始您的旅程,揭開浩瀚數字領域中開啟檔案的秘密。

更新於: 2023年7月20日

214 次瀏覽

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.