我想翻译一下关于在Linux中重置串口的示例。以下是需要翻译的片段:
fd = open(filename, O_WRONLY);
ioctl(fd, USBDEVFS_RESET, 0);
close(fd);
将其转换为有效的Python代码。到目前为止,这是我尝试过的内容。
file_handler = open(self._port, 'w')
fcntl.ioctl(file_handler, termios.USBDEVFS_RESET)
file_handler.close()
出现错误'module' object has no attribute 'USBDEVFS_RESET'
。在这一点上,termios文档并不是很有帮助,因为它没有列出termios
的可能属性。请参阅fcntl文档,了解此类termios
属性的示例。
我如何正确地将C代码转换为python2.7代码?
USBDEVFS_RESET
的值具有值_IO('U', 20)
。我不需要尝试您的建议就能看出这行不通。因此,原始问题仍然没有得到回答。也许您知道_IO('U', 20)
是什么?仅将termios.USBDEVFS_RESET
替换为20
就会出现错误:IOError: [Errno 22] Invalid argument
。 - Alex_IO
做了什么,如果它使用了另一个宏,请查看该宏。最终通过一些位操作将创建一个整数,并且该整数可以在 Python 中使用。 - Some programmer dude