2010-07-25 5 views
3

볼륨에서 사용할 수있는 여유 공간을 확인하려면 os.statvfs을 사용하고 있습니다. 특정 경로의 여유 공간을 쿼리하는 것 외에도 모든 볼륨을 반복 할 수 있기를 바랍니다. 현재 Linux에서 작업하고 있지만 Linux에서는 ["/", "/boot", "home"], Windows에서는 ["C:\", "D:\"]을 반환하는 것이 이상적입니다.어떻게 파이썬에서 파일 시스템을 열거 할 수 있습니까?

답변

3

Linux의 경우 구문 분석 방법은 /etc/mtab 또는 /proc/mounts입니까? 또는 : 어쩌면 그들은 도움

from win32com.client import Dispatch 
fso = Dispatch('scripting.filesystemobject') 
for i in fso.Drives : 
    print i 

그 시도 :

import string 
from ctypes import windll 

def get_drives(): 
    drives = [] 
    bitmask = windll.kernel32.GetLogicalDrives() 
    for letter in string.uppercase: 
     if bitmask & 1: 
      drives.append(letter) 
     bitmask >>= 1 

    return drives 

if __name__ == '__main__': 
    print get_drives() 

이 : Windows의 경우

import commands 

mount = commands.getoutput('mount -v') 
lines = mount.split('\n') 
points = map(lambda line: line.split()[2], lines) 

print points 

나는 이런 식으로 뭔가를 발견했다.

또한 도움이됩니다. Is there a way to list all the available drive letters in python?

관련 문제