从Python调用lp会导致脚本退出
下面的Python脚本负责拍摄照片,然后打印照片。但是,每次脚本成功调用lp后,脚本都会干净地退出,没有异常或解释从Python调用lp会导致脚本退出,python,python-2.7,printing,raspberry-pi,raspbian,Python,Python 2.7,Printing,Raspberry Pi,Raspbian,下面的Python脚本负责拍摄照片,然后打印照片。但是,每次脚本成功调用lp后,脚本都会干净地退出,没有异常或解释 import time import picamera import subprocess def main(): with picamera.PiCamera() as cam: cam.start_preview(alpha=220) #cam.resolution = (2592, 1944) cam.capture(
import time
import picamera
import subprocess
def main():
with picamera.PiCamera() as cam:
cam.start_preview(alpha=220)
#cam.resolution = (2592, 1944)
cam.capture('test.jpg')
subprocess.check_call("lp -d HP-270 test.jpg")
while True:
main()
time.sleep(5.000)
尝试将对lp的调用及其参数分离为字符串列表。这是将命令和参数传递给shell的方式,默认情况下,subprocess.check_调用不会让shell解释您提供给它的原始字符串 子流程检查调用[lp,-d,HP-270,test.jpg] 所有调用都需要args,args应该是字符串或序列 程序参数的定义。提供一系列参数通常> 首选,因为它允许模块处理任何需要的数据 转义>和引用参数,例如允许文件中有空格 名字。如果传递单个字符串,则任何一个shell都必须为True,请参见 否则字符串必须简单地命名要执行的程序 不指定任何参数
问题是:这很有趣,因为这个电话实际上是成功的——我会试试,让你知道!我试过了,但不幸的是问题依然存在。我最后做的只是将print调用移动到一个单独的脚本,因为调用另一个脚本使我不必担心第一个脚本终止