Código de Python - Obtener el modelo y numero de serie de un disco duro en Python bajo Linux

Imágen de perfil

Obtener el modelo y numero de serie de un disco duro en Python bajo Linuxgráfica de visualizaciones


Python

estrellaestrellaestrellaestrellaestrella(1)
Publicado el 16 de Mayo del 2015 por xve
1.330 visualizaciones desde el 16 de Mayo del 2015. Una media de 21 por semana
Este código desarrollado en Python, devuelve el modelo y numero de serie de un disco duro bajo un sistema Linux.

Versión 1.0
estrellaestrellaestrellaestrellaestrella(1)

Actualizado el 17 de Mayo del 2015 (Creado el 16 de Mayo del 2015)gráfica de visualizaciones de la versión: Versión 1.0
1.331 visualizaciones desde el 16 de Mayo del 2015. Una media de 21 por semana
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella

Tiene que ejecutarse como root, y tienes que pasar como parámetro el disco... algo así:
sudo python miprograma.py /dev/sda
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
import sys
import os
import fcntl
import struct
 
if os.geteuid() >  0:
    print("ERROR: Tienes que ser root")
    sys.exit(1)
 
with open(sys.argv[1], "rb") as fd:
    hd_driveid_format_str = "@ 10H 20s 3H 8s 40s 2B H 2B H 4B 6H 2B I 36H I Q 152H"
    HDIO_GET_IDENTITY = 0x030d
    sizeof_hd_driveid = struct.calcsize(hd_driveid_format_str)
 
    assert sizeof_hd_driveid == 512
 
    buf = fcntl.ioctl(fd, HDIO_GET_IDENTITY, " " * sizeof_hd_driveid)
    fields = struct.unpack(hd_driveid_format_str, buf)
    serial_no = fields[10].strip()
    model = fields[15].strip()
    print("Modelo del disco: %s" % model)
    print(" Numero de serie: %s" % serial_no)



Comentarios sobre la versión: Versión 1.0 (1)

alexander
13 de Junio del 2015
estrellaestrellaestrellaestrellaestrella
Increible un gran codigo con pocas lineas, no soy capaz de leer ese codigo pero jeje pero sorprendo lo que se puede hacer con poco codigo en manos expertas
Responder

Comentar la versión: Versión 1.0

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios

http://lwp-l.com/s3166