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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何用python / c程序替换“cat”和“echo”读/写命令?相关的知识,希望对你有一定的参考价值。

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

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

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

谢谢。

答案

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

以上是关于如何用python / c程序替换“cat”和“echo”读/写命令?的主要内容,如果未能解决你的问题,请参考以下文章

如何用python查找和替换json文件中的特定字符串

Python:如何用中位数逐列替换缺失值

如何用另一个列表元素随机替换列表元素?

如何用python中其他数据帧中的条目替换一个数据帧中列的丢失条目?

如何用其他数据替换 gzip 压缩数据并且仍然有有效的 .gz 文件?

如何用Python来进行查询和替换一个文本字符串