ドライブの情報を取得する

 コンピュータのドライブをすべて取得する

 DriveInfoのGetDrivesメソッドにより、コンピュータ上のすべての論理ドライブのドライブをDriveInfoオブジェクトとして取得できます。

import System
from System.IO import DriveInfo
drives = DriveInfo.GetDrives()
for dri in drives:
  print dri.Name

raw_input()

出力画面
 C:\
 D:\
 E:\
 Z:\
 上の出力画面は私のパソコンの場合です。

 タイプ、ボリュームラベル、ファイルシステムを取得する

 DriveInfoクラスを使って、ドライブの他の情報も取得してみましょう。

import System
from System.IO import DriveInfo,DriveType

drives = DriveInfo.GetDrives()
for dri in drives:
  print dri.Name
  if dri.DriveType == DriveType.Fixed:
    print dri.Name+"は固定ディスクです。"
  if dri.DriveType == DriveType.CDRom:
    print dri.Name+"は光学ドライブです。"
  if dri.DriveType == DriveType.Network:
    print dri.Name+"はネットワークドライブです。"
  if dri.DriveType == DriveType.Ram:
    print dri.Name+"はRAMディスクです。"
  if dri.DriveType == DriveType.Removable:
    print dri.Name+"リムーバブルドライブです。"
  if dri.DriveType == DriveType.NoRootDirectory:
    print dri.Name+"はルートディレクトリがありません。"
  if dri.DriveType == DriveType.Unknown:
    print dri.Name+"は不明です。"
  
  if dri.IsReady:
    print dri.Name+"のボリュームラベルは\""+dri.VolumeLabel+"\"です。"
    print dri.Name+"のフォーマット形式は\""+dri.DriveFormat+"\"です。"
  print

raw_input()

出力画面
 C:\
 C:\は固定ディスクです。
 C:\のボリュームラベルは""です。
 C:\のフォーマット形式は"NTFS"です。

 D:\
 D:\は固定ディスクです。
 D:\のボリュームラベルは""です。
 D:\のフォーマット形式は"FAT32"です。

 E:\
 E:\は光学ドライブです。

 Z:\
 Z:\は固定ディスクです。
 Z:\のボリュームラベルは"BFRD-DRIVE"です。
 Z:\のフォーマット形式は"FAT"です。
 上の出力画面は私のパソコンの場合です。

 全体の容量や空き容量を取得する

 DriveInfoクラスによりドライブの情報を取得できます。ドライブのサイズはTotalSize、使用できる空き容量はAvailableFreeSpace、空き容量の合計はTotalFreeSpaceプロパティで取得できます。AvailableFreeSpaceは現在のユーザーが利用できる空き容量で、TotalFreeSpaceはそれ以外も含みます。
 Cドライブの情報を取得してみましょう。

import System
from System.IO import DriveInfo
Cdrive = DriveInfo("C")

if Cdrive.IsReady:
  print "Cドライブ全体のバイト数:"+str(Cdrive.TotalSize/1000)+"KB"
  print "Cドライブ全体の空き容量:"+str(Cdrive.TotalFreeSpace/1000)+"KB"
  print "Cドライブの利用可能容量:"+str(Cdrive.AvailableFreeSpace/1000)+"KB"

raw_input()

出力画面
 Cドライブ全体のバイト数:118624985KB
 Cドライブ全体の空き容量:76700811KB
 Cドライブの利用可能容量:76700811KB
 上の出力画面は私のパソコンの場合です。(笑)