有没有办法列出所有可用的Windows驱动器?
20 个回答
25
在网上找到这个解决方案,稍微修改了一下,感觉挺符合Python的风格,而且不需要什么特别复杂的导入。
import os, string
available_drives = ['%s:' % d for d in string.ascii_uppercase if os.path.exists('%s:' % d)]
77
如果你不想使用任何外部库,这对你来说很重要的话:
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']
76
import win32api
drives = win32api.GetLogicalDriveStrings()
drives = drives.split('\000')[:-1]
print drives
改编自: http://www.faqts.com/knowledge_base/view.phtml/aid/4670