Wie führe ich Low-Level-I / O auf Linux-Gerätedateien in Python durch?

Ich habe ein Gerät, das als Antwort auf Befehle, die in die Gerätedatei geschrieben wurden, eine Zeichenfolge zurückgibt. Ich kann Befehle an das Gerät schreiben und die Rückgabezeichenfolge in C mit folgendem Code lesen:

int dev = open("/dev/USBDev251",O_RDWR);
write(dev,data,sizeof(data));
read(dev,buff,16);

Der Versuch, dasselbe in Python zu tun, mit:

dev = os.open("/dev/USBDev251",os.O_RDWR)
os.write(dev, data)
os.read(dev,16)

Der Schreibvorgang ist erfolgreich, es wird jedoch nur eine leere Zeichenfolge zurückgegeben. Was vermisse ich hier?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage