2017-11-23 78 views
1

ディスクボリュームとドライブの間のマップをPythonで取得しようとしていますが、いずれのスレッドも失敗しています。以下のサンプルとして、Javaでそれを実装するのは非常に簡単です:ディスクボリュームラベルとドライブ間のマップをPythonで取得する方法

import java.io.File; 
import javax.swing.filechooser.FileSystemView; 
public class Test{ 

    public void listMap(){ 
     File[] files = File.listRoots(); 
     System.out.println("The map between volume label and drive is: "); 
     for(File file: files){ 
      String theMap = FileSystemView.getFileSystemView().getSystemDisplayName(file); 
      System.out.println(theMap); 
     } 
    } 

    public static void main(String[] args) { 
     Test test = new Test(); 
     test.listMap(); 
    } 
} 

ボリュームラベルとドライブ間のマップは次のとおりです。マップがある

2008x64 (C:) 
FlashDisk (E:) 

場合は、ドライブを取得することは非常に簡単です」 C: "ボリュームラベルに基づいて"(2008x64) "とその逆。

ご協力いただきありがとうございます。

答えて

0

win32apiGetVolumeInformationメソッドを探している可能性があります。

In [3]: win32api.GetVolumeInformation('c:\\') 
Out[3]: ('', -697410715, 255, 65471231, 'NTFS') 

ここで ''はラベルです(私のドライブはラベルが付けられていません)。

+0

@a p。いいえ、私はそれが私が望むものではないと思います。出力にボリュームラベルはありません。ボリュームラベルは、実際にはパーティションの「名前」です。 – Gearon

関連する問題