[英]Python equivalent to Bash comand “echo”?
我試圖用Python控制我的RPi上的GPIO,但沒有那些需要使用根權限的模塊之一。 我發現通過控制台將“ 1”或“ 0”“回送”到GPIO的值文件的簡單方法。 我還編寫了一個Python腳本來自動執行此操作。 到現在為止還挺好。 但這僅在文件(在本例中為/ sys / class / gpio / gpio17)已經存在的情況下有效。 每次啟動Pi后,我都可以通過控制台輕松地創建此文件夾,如下所示:
pi@raspberrypi ~ $ cd /sys/class/gpio
pi@raspberrypi /sys/class/gpio $ echo "17" > export
之后,我將擁有/ sys / class / gpio / gpio17文件夾,在其中可以找到有關該引腳的信息並可以對其進行修改。
所以基本上我的問題是:我如何將這一步整合到我的Python腳本中。 有沒有一種方法可以移動到目錄並使用Python導出此文件夾? 我用一個單獨的Bash腳本弄清楚了這一點,然后在Python腳本中運行了該腳本,但我想避免使用多種語言,並且想知道Python中是否有等效於“ echo”命令的命令。 我搜索了幾天,但找不到任何東西。 如果有的話,一個鏈接將不勝感激!
先感謝您,
一個新手
根據您的描述,您只需要將所需的編號寫入名為/sys/class/gpio/export
。
GPIO_EXPORT = '/sys/class/gpio/export'
PIN = 17
with open(GPIO_EXPORT, 'w') as export:
export.write(str(PIN))
有很多選擇。 您可以通過os
模塊(或更靈活的subprocess
模塊)在python代碼中直接使用bash語法。
在您的工作目錄中啟動python解釋器,然后,
>>> import os
>>> os.system("echo 18>import")
0
>>> exit()
$ ls -a
. .. import
$ cat import
18
或寫入文件。
>>> with open("newport", "w") as newport:
... newport.write("19")
...
>>> exit()
$ ls -a
. .. import newport
$ cat newport
19
等等。 查閱原始文檔
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.