簡體   English   中英

使用Python在Linux上學習目錄的物理磁盤

[英]Learning the directory's physical disk on Linux with Python

首先,對不起我的英語不好。

我正在編寫一個python腳本,用於比較兩個不同目錄中的文件。 但是為了提高性能,我想知道:“目錄是否在同一物理磁盤上?”,因此我可以同時讀取它們,以提高性能。

我當前的想法是獲取“ mount”命令輸出,並獲取/ dev / sd *目錄路徑並將其用於標識磁盤。 但是有時您可以將一個已經掛載的目錄掛載到其他地方(或類似的東西,我不太確定),所以事情變得復雜了。

有沒有比圖書館更好的方法呢?

(如果有一種跨平台的方法,我將不勝感激,但是似乎很難找到這樣的跨平台庫。)

您正在從linux尋找stat函數,python也提供了stat函數(請參閱http://docs.python.org/library/os.html#os.stat )。

您將必須比較結果結構中的st_dev,如果兩個文件匹配,它們將位於同一文件系統中。

使用此功能具有盡可能的可移植性(優於mount或df)。

獎勵:您不必運行昂貴的exec調用,也無需執行容易出錯的文本解析。

使用mount一個更簡單的替代方法可能是調用df <directory>

這將打印出文件系統。 另外,在我的Ubuntu盒子上,將-P傳遞給df會使輸出更易於解析。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM