Versión: 2.x, 3.x
La siguiente función permite obtener el número de serie de un volúmen determinado, por ejemplo, C:\
o D:\
. Nótese que éste difiere del número de disco asignado por el fabricante. El código utiliza ctypes
para acceder a la función de la API de Windows GetVolumeInformation
.
#!/usr/bin/env python # -*- coding: utf-8 -*- from ctypes import byref, c_char_p, c_int, windll def get_serial_number(volume=None): serial_number = c_int(0) windll.kernel32.GetVolumeInformationA( c_char_p(volume) if volume is not None else None, None, 0, byref(serial_number), 0, None, None, 0 ) return serial_number.value
El argumento opcional volume
permite especificar la ruta de raíz del volumen. Por defecto, la ruta actual es utilizada.
El valor de retorno es el número de serie del volúmen (un entero largo con signo).
Ejemplos:
>>> get_serial_number() -2099229512 >>> get_serial_number("E:\\") -1931561383
Curso online 👨💻
¡Ya lanzamos el curso oficial de Recursos Python en Udemy!
Un curso moderno para aprender Python desde cero con programación orientada a objetos, SQL y tkinter
en 2024.
Consultoría 💡
Ofrecemos servicios profesionales de desarrollo y capacitación en Python a personas y empresas. Consultanos por tu proyecto.