有没有办法列出所有可用的Windows驱动器?

2024-09-24 22:32:53 发布

您现在位置:Python中文网/ 问答频道 /正文

Python中有没有办法列出Windows系统中当前使用的所有驱动器号

(我的谷歌fu似乎让我失望了)

一个C++等价物:Enumerating all available drive letters in Windows


Tags: inwindows系统driveallavailable驱动器办法
3条回答

不使用任何外部库,如果这对您很重要:

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()     # On my PC, this prints ['A', 'C', 'D', 'F', 'H']
import win32api

drives = win32api.GetLogicalDriveStrings()
drives = drives.split('\000')[:-1]
print drives

改编自: http://www.faqts.com/knowledge_base/view.phtml/aid/4670

在谷歌上找到了这个解决方案,和原来的略有不同。看起来很像Python,不需要任何“异国情调”的进口

import os, string
available_drives = ['%s:' % d for d in string.ascii_uppercase if os.path.exists('%s:' % d)]

相关问题 更多 >