我正在创建一个简单的python脚本,它使用gphoto2从usb连接的相机中拍摄照片,feh用来显示照片。在
当我运行程序时,gphoto2将捕获照片,feh将打开它,但我想返回命令行拍摄另一张照片,而不必手动关闭图像窗口。在
有没有什么方法可以让我在不关闭图像窗口的情况下从命令行连续运行程序?在
class PhotoBooth(object):
def capture_photo(self):
filename = join(out, '%s.jpg' % str(uuid4()))
subprocess.call('gphoto2 --capture-image-and-download --filename="%s"' % filename, shell=True)
return filename
def print_photo(self, filename):
subprocess.Popen('feh --g 640x480 ' + filename, shell=True)
photobooth = PhotoBooth()
try:
while True:
raw_input("Press enter to capture photo")
filename = photobooth.capture_photo()
photobooth.print_photo(filename)
except keyboardInterrupt:
print "\nExiting..."
如果您在后台生成feh进程,那么您应该能够在一个简单的循环中完成这一切。请参见StackOverflow上的问题,了解执行此操作的咒语:
How to start a background process in Python?
迈克尔提供的链接给了你答案。如果该方法不起作用,可以尝试在feh命令的末尾使用&;命令。在linux中的命令行上&命令末尾将在后台运行命令。在
相关问题 更多 >
编程相关推荐