Python os.path.samestat() 方法



Python 的 os.path.samestat() 方法用於檢查兩條路徑的狀態資訊是否等效。它比較檔案元資料,例如檔案模式、大小和時間戳,以確定兩條路徑是否指向檔案系統中的同一個檔案或目錄。

如果兩條路徑的狀態資訊相同,則該方法返回 True,表示這些路徑指向同一個檔案或目錄。如果兩條路徑的狀態資訊不同,則返回 False。

語法

以下是 Python os.path.samestat() 方法的基本語法:

os.path.samestat(stat1, stat2)

引數

此方法接受以下引數:

  • stat1 − 這是第一條路徑的狀態資訊。

  • stat2 − 這是第二條路徑的狀態資訊。

返回值

該方法返回布林值“True”或“False”。如果兩條路徑的狀態資訊相同,則返回 True,否則返回 False。

示例

在下面的示例中,我們使用 samestat() 方法比較兩個相同檔案的狀資訊:

import os
path1 = os.stat("C://Users//Lenovo//Desktop//file.txt")
path2 = os.stat("C://Users//Lenovo//Desktop//file.txt")
result = os.path.samestat(path1, path2)
print("The result obtained is:",result) 

輸出

以上程式碼的輸出如下:

The result obtained is: True

示例

在這裡,我們使用 samestat() 方法比較兩個不同檔案的狀資訊:

import os
path1 = os.stat("C://Users//Lenovo//Desktop//file.txt")
path2 = os.stat("C://Users//Lenovo//Desktop//file2.txt")
result = os.path.samestat(path1, path2)
print("The result obtained is:",result)   

輸出

以上程式碼的輸出如下:

The result obtained is: False

示例

現在,我們使用不同的檔案描述符“fd1”和“fd2”兩次開啟同一個檔案“file.txt”。然後,我們獲取兩個檔案描述符的狀態緩衝區,並檢查它們是否相同:

import os

# Opening the same file multiple times
fd1 = os.open("C://Users//Lenovo//Desktop//file.txt", os.O_RDONLY)
fd2 = os.open("C://Users//Lenovo//Desktop//file.txt", os.O_RDONLY)

# Getting stat buffers for both file descriptors
stat1 = os.fstat(fd1)
stat2 = os.fstat(fd2)

# Checking if stat buffers are the same
result = os.path.samestat(stat1, stat2)
print("The result obtained is:",result)  

輸出

我們得到如下所示的輸出:

The result obtained is: True

示例

在這個例子中,我們獲取在不同時間戳下同一個檔案“file.txt”的狀態緩衝區:

import os
import time

# Getting stat buffers for the same file at different times
stat1 = os.stat("C://Users//Lenovo//Desktop//file.txt")
# Wait for 1 second
time.sleep(1)  
stat2 = os.stat("C://Users//Lenovo//Desktop//file.txt")

# Checking if stat buffers are the same
result = os.path.samestat(stat1, stat2)
print("The result obtained is:",result)  

輸出

產生的結果如下:

The result obtained is: True
os_path_methods.htm
廣告