работа с питоном не разрешена (graphtecprint) - PullRequest
0 голосов
/ 25 апреля 2010

Я использую программу на Python. Когда дело доходит до этих строк:
f = open("/dev/bus/usb/007/005", "r")
x = fcntl.ioctl(f.fileno(), 0x84005001, '\x00' * 256)
Не может сказать:
IOError: [Errno 1] Операция не разрешена
Что может быть причиной этой проблемы?

Ответы [ 2 ]

1 голос
/ 25 апреля 2010

разрешений файловой системы?

что говорит ls -l / dev / bus / usb / 007/005?

работает ли cat / dev / bus / usb / 007/005 или выдает ту же ошибку?

0 голосов
/ 25 апреля 2010

Третий аргумент fcntl.ioctl, как указано в документации здесь , должен быть либо 1024-байтовой строкой (не только 256), либо, что еще лучше, возможно даже более длинным записываемым буфером - базовый объект может быть array.array байтов. К сожалению, вам нужно заранее знать, сколько места потребуется для результата, но вы можете осторожно использовать его с несколькими КБ (этот ioctl выглядит как код «get device id», но я не уверен, какова максимальная длина результата может быть).

...