2015-05-11 21 views
-3

我想知道,有什麼方法可以在我將它連接到Linux機器時獲得USB驅動器的可用空間/可用空間。我從互聯網上提取了以下代碼。它正在爲根驅動器工作。但我不知道要動態設置路徑。Python代碼來檢查連接到Linux機器的USB驅動器的可用空間

import os 

disk = os.statvfs("/") 

print"" 
print "~~~~~~~~~~calculation of disk usage:~~~~~~~~~~" 
print"" 

totalBytes = float(disk.f_bsize*disk.f_blocks) 
print "total space: %.2f GB" % (totalBytes/1024/1024/1024) 

totalUsedSpace = float(disk.f_bsize*(disk.f_blocks-disk.f_bfree)) 
print "used space: %.2f GB" % (totalUsedSpace/1024/1024/1024) 

totalAvailSpace = float(disk.f_bsize*disk.f_bfree) 
print "available space: %.2f GB" % (totalAvailSpace/1024/1024/1024) 

幫我開發該代碼或其他代碼的任何想法,以獲得有關我連接的USB驅動器的空閒或可用空間的詳細信息。

+3

只需在'statvfs'調用中更改路徑即可。根據您的發行版,路徑將類似'/ media//

+0

解析'/ proc/mounts'或'/ etc/mtab'(它們可能有轉義序列)? – myaut

+0

@FreekWiekmeijer這可以使用安裝點。有什麼方法可以動態地查找路徑嗎? – RYJ

回答

0

看上面的答案,評論和看一些例子我做了下面的代碼找到我的問題的答案。這對我很好。

import os 

def details(dev): 

    fulldir = "/media/ravi/"+dev 

    disk = os.statvfs(fulldir) 

    print("") 
    print"Driver name " + Name[x] 
    print("") 

    totalBytes = float(disk.f_bsize*disk.f_blocks) 
    print "total space: %.2f GB" % (totalBytes/1024/1024/1024) 

    totalUsedSpace = float(disk.f_bsize*(disk.f_blocks-disk.f_bfree)) 
    print "used space: %.2f GB" % (totalUsedSpace/1024/1024/1024) 

    totalAvailSpace = float(disk.f_bsize*disk.f_bfree) 
    print "available space: %.2f GB" % (totalAvailSpace/1024/1024/1024) 

    print("------------------------------") 

Name = os.listdir("/media/ravi/") 
length = len(Name) 
print(Name[-1]) 

for x in range(length): 
    details(str(Name[x])) 
1

參考http://walac.github.io/pyusb/在python此鏈接USB編程

您可以使用子模塊,並運行linux命令:

首先運行:LS /媒體

得到名稱您的USB設備

df -h/media/DC4A-97B2/

其中DC4A-97B2是USB設備的名稱

+0

這工作。但是有沒有什麼動態的方法來獲得這條路? – RYJ

相關問題