0

我正在使用 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

问题是打印语句不起作用,终端上没有打印任何内容。

4

1 回答 1

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,...

无限递归多少?

于 2013-04-28T17:02:10.213 回答