[pyar] Dudas sobre Clase y Herencia
Joaquin Sorianello
soriasoft en gmail.com
Mie Jun 9 00:21:29 ART 2010
2010/6/8 Roberto Bozzacchi <robbie en metasigno.com>:
> Este código si me funciona bien....
> Que opinan?
Que los e-mails en texto plano y sin colores son mas lindos!
(Solo una opinión)
Vamos al codigo:
En mi opinión no necesitas construir una clase para eso, con una
función estas hecho, y es mucho mas "entendible".
fijate en [1] tenes un ejemplo generico y uno para cada plataforma.
Si lo pensas como un objeto podria ser algo mas del tipo:
import serial
class PortScanner(object):
"""
Crea una lista de puertos disponibles,
devuelve una representación legible
"""
name = 'PortScanner'
def __init__(self):
self.available_ports = []
self.scan_ports()
def scan_ports(self):
"""Inicializa los puertos serie disponibles"""
for i in xrange(0, 256):
try:
puerto = serial.Serial(i)
self.available_ports.append((i, puerto.portstr))
puerto.close()
except serial.SerialException:
pass
def __repr__(self):
"devuelve una representacion del objeto Port Scanner"
header = "Found ports:\n" \
"+------+-------------+\n"\
"| Num | Description |\n"\
"+------+-------------+\n"
return header + ''.join(["| %4d | %s |\n" %port_d for port_d
in self.available_ports])
if __name__=='__main__':
Port = PortScanner()
print Port.name
print Port
y la salida es:
calabaza en calabaza-desktop:~$ python serial_scanner.py
PortScanner
Found ports:
+------+-------------+
| Num | Description |
+------+-------------+
| 0 | /dev/ttyS0 |
| 1 | /dev/ttyS1 |
| 2 | /dev/ttyS2 |
| 3 | /dev/ttyS3 |
[1]http://pyserial.sourceforge.net/examples.html
- -
Joaquín Sorianello
Sea libre, use software libre
More information about the pyar
mailing list