如何用python实现获取计算机上的硬盘名

如何用python实现获取计算机上的硬盘名

如何用python实现获取计算机上的硬盘名,比如要把c:,d:,e:,f:获取出来
如果你装的是activepython的话很简单可以得到一些盘符信息
>>> import win32file
>>> r=win32file.GetLogicalDrives()
>>> for d in range(26):
...     if(r>>d &1):
...             import string
...             print string.ascii_letters[d]

注意下缩进。打印出来的就是你win分区里的盘符信息。你可以dir(win32file)这个模块下,里面有很多这样的函数。

如果没装activepython的把,最土的办法就是从c-z循环一次看各个盘符是否存在了。

linux下可以调用系统命令来查看。
import ctypes
lpBuffer = ctypes.create_string_buffer(78)
ctypes.windll.kernel32.GetLogicalDriveStringsA(ctypes.sizeof(lpBuffer), lpBuffer)
lpBuffer.raw.split('\x00')




QUOTE:
原帖由 jiangpeng311 于 2008-7-29 14:23 发表
import ctypes
lpBuffer = ctypes.create_string_buffer(7
ctypes.windll.kernel32.GetLogicalDriveStringsA(ctypes.siezof(lpBuffer), lpBuffer)
lpBuffer.raw.split('\x00')

这种方式调用C,如果传参有问题,程序会不会出段错误


QUOTE:
原帖由 jiangpeng311 于 2008-7-29 14:23 发表
import ctypes
lpBuffer = ctypes.create_string_buffer(7
ctypes.windll.kernel32.GetLogicalDriveStringsA(ctypes.siezof(lpBuffer), lpBuffer)
lpBuffer.raw.split('\x00')

天书
装上pywin32扩展,调用w32api     win32file.GetLogicalDrives()
thanks !