如何用python / c程序替换“cat”和“echo”读/写命令?

问题描述 投票:0回答:1

我无法更换设备输入/输出命令,如:

echo 100 > /dev/rtmotor_raw_l0   # output 100hz frequency
cat /dev/rtswitch0 # read switch state

输出问题(python)

我尝试用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'也行不通。

输入问题(python)

在输入观察中几乎出现同样的问题。

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个输入。

所以,目前我每次想要写/读新值时都要重新打开设备。有什么办法可以避免这个问题吗?

谢谢。

command-line python echo
1个回答
1
投票

file.flush()召唤之后尝试打电话给write()。它会将缓冲区刷新到文件,您可以读取数据。

© www.soinside.com 2019 - 2024. All rights reserved.