0
두 개의 다른 명령에 대해 subprocess.check_output 명령을 사용하고 한 경우에 subprocess.CalledProcessError가 있고 다른 경우에는 프로그램이 충돌합니다. gpio482 폴더가 존재하지 않습니다 및 설정 방법은 오류를 반환하고 get 메소드가 예외를 잡는다파이썬 하위 프로세스 예외
Get 메소드 충돌 :
try:
subprocess.check_output("echo 0 > /sys/class/gpio/gpio482/value", shell=True)
except subprocess.CalledProcessError:
log("set state failed.")
return "not-writable"
Get 메소드 충돌 :
try:
state_string = subprocess.check_output("cat /sys/class/gpio/gpio482/value", shell=True)
except subprocess.CalledProcessError:
log("Get state failed.")
return "integer", "0" # unknown
이 있습니까를 내가 잘못한 어떤 점?!
>>> subprocess.check_output("cat /sys/class/gpio/gpio482/value", shell=True)
cat: can't open '/sys/class/gpio/gpio482/value': No such file or directory
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.7/subprocess.py", line 573, in check_output
raise CalledProcessError(retcode, cmd, output=output)
subprocess.CalledProcessError: Command 'cat /sys/class/gpio/gpio482/value'
returned non-zero exit status 1
>>>
>>>
>>> subprocess.check_output("echo 0 > /sys/class/gpio/gpio482/value",
shell=True)
/bin/sh: /sys/class/gpio/gpio482/value: No such file or directory
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.7/subprocess.py", line 573, in check_output
raise CalledProcessError(retcode, cmd, output=output)
subprocess.CalledProcessError: Command 'echo 0 >
/sys/class/gpio/gpio482/value' returned non-zero exit status 1
어떤 오류 메시지가 나타 났습니까? –
쉘에서 두 줄을 모두 시도하면 동일한 오류 메시지가 나타납니다. – fresh
케이스를 재현 할 수 없습니다. 프로그램이'CalledProcessError'를 처리하고 있는지 확인하십시오. –