Ich habe ein Gerät, das eine Zeichenfolge als Antwort auf Befehle zurückgibt, die in die Gerätedatei geschrieben wurden. Ich bin in der Lage Befehle an das Gerät zu schreiben und die Rückkehr Zeichenfolge in C mit Code zu lesen, die wie folgt aussieht:Wie führe ich Low-Level-I/O auf Linux-Gerätedateien in Python aus?
int dev = open("/dev/USBDev251",O_RDWR);
write(dev,data,sizeof(data));
read(dev,buff,16);
Der Versuch, das gleiche zu tun in Python mit:
dev = os.open("/dev/USBDev251",os.O_RDWR)
os.write(dev, data)
os.read(dev,16)
Der Schreib ist erfolgreich, aber Es wird nur eine leere Zeichenfolge zurückgegeben. Was fehlt mir hier?
Ist die erwartete Anzahl von Bytes os.write zurückkehren Sie schreiben wollte? – hogliux
@hogliux, Ja, der Schreibvorgang ist erfolgreich. –
Sind Sie sicher, dass das Gerät tatsächlich etwas zurückgibt? –