Файловая система /proc
не существует в MS Windows.
Если вы хотите придерживаться встроенных вещей в Python, вам придется ознакомиться с тем, что вы можете найти из модулей OS и платформы .
Кроме того, вы можете использовать встроенный модуль ctypes для вызова функций из Kernel32.dll
из MS Windows. Таким образом, вы можете извлечь эквивалентную информацию, если таковая имеется. Вероятно, было бы целесообразно инкапсулировать эту специфическую для платформы информацию в служебном модуле. Это будет либо читать файлы /proc
либо вызывать функции Kernel32.dll
зависимости от значения, например, platform.system()
.
Редактировать:
Для поиска информации о дисках и томах (Windows-говорят для файловых систем) посмотрите MS информацию о локальных файловых системах.
Я бы сказал, что вы можете начать с GetLogicalDriveStrings, затем GetVolumeInformation. Затем используйте другие функции управления громкостью.
Edit2:
Это пример использования ctypes. У меня нет машины с Windows, чтобы протестировать ее. Согласно документации, прототип для GetLogicalDriveStrings:
DWORD WINAPI GetLogicalDriveStrings(
_In_ DWORD nBufferLength,
_Out_ LPTSTR lpBuffer
);
DWORD
- это 32-разрядное целое число без знака. Это зависит от платформы, но обычно это делается с помощью c_uint
в ctypes. LPTSTR - это указатель на область памяти для хранения вещей. Мы можем использовать create_string_buffer
чтобы сделать это. Это должно работать примерно так
import ctypes
blen = ctypes.c_uint(128)
rv = ctypes.c_uint()
bufs = ctypes.create_string_buffer(128)
rv = ctypes.windll.kernel32.GetLogicalDriveStrings(blen, bufs)
if rv.value == 0:
raise ValueError('GetLogicalDriveStrings returned 0.')
drives = bufs.raw.split('\0')
drvstring = ' '.join(drives)
print drvstring
Имя drives
теперь должно ссылаться на список имен дисков.