Raspberry pi 如何通过Python检查GPIO引脚的当前状态?

Raspberry pi 如何通过Python检查GPIO引脚的当前状态?,raspberry-pi,state,gpio,Raspberry Pi,State,Gpio,我想在启动时检查GPIO引脚的状态,一个端口图。例如,我有另一个改变引脚状态的程序(如果是低变为hihg,如果是高变为低)。现在我想写一个程序,可以读取pin的当前状态。但当我这么做的时候: import RPi.GPIO as GP GP.setmode(GP.BOARD) NRpin=40 GP.setup(NRpin,GP.OUT) #now GPIO state is set to default (0) 当我做 GP.setup(NRpin,GP.OUT) 当前状态正在替换默认状

我想在启动时检查GPIO引脚的状态,一个端口图。例如,我有另一个改变引脚状态的程序(如果是低变为hihg,如果是高变为低)。现在我想写一个程序,可以读取pin的当前状态。但当我这么做的时候:

import RPi.GPIO as GP
GP.setmode(GP.BOARD)
NRpin=40
GP.setup(NRpin,GP.OUT) #now GPIO state is set to default (0)
当我做

 GP.setup(NRpin,GP.OUT)
当前状态正在替换默认状态(低)

问题是:是否有办法检查当前状态

我知道我可以这样做:

import RPi.GPIO as GP
import subprocess as sub
a=sub.check_output(['sudo', 'gpio', '-g','read','21'])
print a
但是如果我没有在我的树莓皮上安装wiringpi呢?(gpio命令位于wiringpi包中)

我想它可能看起来像:

if GP.output(NRpin,1)==True:
  print "HI"
elif GP.output(NRpin,0)==True:
  print "LO"
但没有:

GP.setup(NRpin,GP.OUT)
我不能用那个密码


给我一些建议,使用函数
GPIO.GPIO\u函数(pin)
您可以确定pin设置为输入还是输出

要检查输入是高还是低,可以使用
if(GPIO.INPUT(channel)==GPIO.LOW))
if(GPIO.INPUT(channel)==GPIO.HIGH))