我无法更换设备输入/输出命令,如:
echo 100 > /dev/rtmotor_raw_l0 # output 100hz frequency
cat /dev/rtswitch0 # read switch state
我尝试用python替换该命令。
file = open('/dev/rtmotor_raw_l0','w')
file.write('100\n') # I want output in this timing
file.close() # output reflected after closing file
问题是关闭文件后出现输出。这是否意味着我每次想要更改其值时都必须打开和关闭此设备?此外,将'w'
改为'a'
也行不通。
在输入观察中几乎出现同样的问题。
file = open('/dev/rtswitch','r')
file.read() # works
file.read() # after first read it does't work anymore
file.close() # need to reopen the file to get newer value
我只能在每个打开文件中读取1个输入。
所以,目前我每次想要写/读新值时都要重新打开设备。有什么办法可以避免这个问题吗?
谢谢。
在file.flush()
召唤之后尝试打电话给write()
。它会将缓冲区刷新到文件,您可以读取数据。