我正在使用zbarcam读取条形码,因为zbarcam在读取代码后不会自动终止。
这是我的parking-mng.py文件:
#!/usr/bin/python
import subprocess
import MySQLdb as db
from config import *
import sys
temp = ''
def scanfun():
subprocess.call("./k.sh")
reg = sys.stdin.readline().strip()
con = None
con = mdb.connect(server, user, pwd, database);
cur = con.cursor()
print "successful"
while(1):
print "------Parking Sector 11----------"
print "Select : "
print """1. Scan Code\n2. Update Balance\n3. Exit\n"""
choice = raw_input()
if choice == '1':
scanfun()
else:
break
这是我的k.sh文件:
#!/bin/bash
tmp=/tmp/barcode.$$
zbarcam --raw /dev/video1 > $tmp &
pid=$!
# Sleep until file has content
while [[ ! -s $tmp ]] ; do
sleep 1
done
kill $pid
cat $tmp | ./parking-mng.py
问题是print语句不起作用,终端上没有打印任何内容。
答案 0 :(得分:2)
因此,您的k.sh
运行parking-mng.py
,然后运行k.sh
,然后运行parking-mng.py
,然后运行k.sh
,然后运行parking-mng.py
k.sh
然后运行parking-mng.py
,然后运行k.sh
,然后运行parking-mng.py
,然后运行k.sh
,然后运行parking-mng.py
,然后运行k.sh
运行parking-mng.py
,然后运行k.sh
,然后运行parking-mng.py
,然后运行k.sh
,然后运行parking-mng.py
,然后运行k.sh
parking-mng.py
然后运行k.sh
,然后运行parking-mng.py
,然后运行k.sh
,然后运行parking-mng.py
,然后运行k.sh
,然后运行parking-mng.py
k.sh
,然后运行parking-mng.py
,然后运行k.sh
,然后运行parking-mng.py
,然后运行k.sh
,然后运行parking-mng.py
然后运行k.sh
,然后运行parking-mng.py
,然后运行k.sh
,然后运行parking-mng.py
,然后运行{{1}},然后运行{{1}} {1}},然后运行{{1}},然后运行{{1}},...
无限递归?