在下面的场景中,当使用子进程时,请帮助我处理异常。我相信你们中的许多人会想出一些非常高级的异常陷阱,但是我真的在寻找基本的知识,这样我就可以随着时间的推移建立在这个基础上。此代码正在将jpeg映像写入安装的windows网络共享。我故意切换共享的读/写权限,基本上拒绝Pi访问。我不想让我的程序在没有一个好的存储位置的情况下传播它的数字内脏,而是传递给我一个明智的信息。
snap_pic = 'raspistill -t 1200 -a '+pic_tag+' -ae 50,0x00,0x8080FF -o '+file_path
try:
subprocess.check_call(snap_pic, shell=True)
except subprocess.CalledProcessError:
print ( 'Cannot write to network storage' )
sys.exc_clear()
else:
print ( 'Image number '+image_no+' being processed' )在今天晚上之前,我甚至不知道什么是“子进程”,我使用os.system来调用'snap_pic‘。我看到了一些陷阱的限制,所以在这里,我试图加强我的小游戏。我应该在这里使用.call还是.check_call?无论是否存在连接,我的“除”命令总是会被绕过。我是否应该为这个代码段的每一次迭代清除这些行的错误标志?
一如既往,任何帮助都是非常感谢的。
发布于 2016-03-30 10:41:07
尝试使用PiCamera Python包。与使用子进程相比,使用起来更简单、更干净。
下面是演示如何拍照的文档中的一个基本示例:
import time
import picamera
with picamera.PiCamera() as camera:
camera.resolution = (1280, 720)
camera.start_preview()
camera.exposure_compensation = 2
camera.exposure_mode = 'spotlight'
camera.meter_mode = 'matrix'
camera.image_effect = 'gpen'
# Give the camera some time to adjust to conditions
time.sleep(2)
camera.capture('foo.jpg')
camera.stop_preview()https://stackoverflow.com/questions/35954956
复制相似问题