擅长:python、mysql、java
<p>我推荐pyserial(可以使用非阻塞),但是我不知道它是否能正确处理RS232以外的任何东西。在</p>
<blockquote>
<p>I have been unable to locate a Python equivalent to printf or cat that
does not require me to open/close a file. </p>
</blockquote>
<p>通常,只需打开文件并调用.write()函数(相当于printf)或.readline()函数。这有什么问题吗?当您从shell脚本使用“cat”或“echo”或管道时,这也会在后台打开和关闭文件。如果你真的因为某种原因(例如内核驱动程序出了问题)而需要重新打开文件,那么你只需编写一个python函数就可以了。在</p>
<blockquote>
<p>Furthermore every terminal
interface I've looked at has the built-in or required wait for
response or read for so long before giving up.</p>
</blockquote>
<p>串行库通常只有在读取</em>时才有超时,而不是在写(但是对于写,内核驱动程序通常有一个缓冲区,如果你写得太快,理论上可能会溢出……)。在</p>
<p>我不明白的是这个超时对你来说是个问题吗?如果你能用两个独立的python程序打开终端,一个写,一个读,你的问题就解决了,对吧?在</p>
<p>您应该知道,您可以对文件执行阻塞或非阻塞I/O。默认情况下,一切都将被阻塞。您可以使用<em>select()</em>系统调用(同样来自Python)来绕过线程或独立进程的每个需要。选择将在不阻塞的情况下读/写文件、出现异常(如设备消失)或超时(如果设置了超时)时返回。在</p>