2009-12-04 6 views
1

웹 응용 프로그램의 웹캠에서 바코드를 읽으려고 zbarcam을 사용하고 있습니다. 하지만 zbarcam은 끝에 \ n을 표시하므로 양식이 제출됩니다. 여기 xvkbd를 사용하여 바코드를 읽습니다. Enter 키를 사용하지 않으려면 어떻게해야하나요?

내가 무엇을 사용 :

read_one.py을

#!/usr/bin/python 
from sys import argv 
import zbar 
import webbrowser 

# create a Processor 
proc = zbar.Processor() 

# configure the Processor 
proc.parse_config('enable') 

# initialize the Processor 
device = '/dev/video0' 
if len(argv) > 1: 
    device = argv[1] 
proc.init(device) 

# enable the preview window 
proc.visible = True 

# read at least one barcode (or until window closed) 
proc.process_one() 

# hide the preview window 
proc.visible = False 

# extract results 
for symbol in proc.results: 
    # do something useful with results 
    print symbol.data 

keyboard.sh 내가 전송하기 전에 '\ n을'을 (를) 제거 할 수 있습니다 방법

python read_one.py | xvkbd -file - 

xvkbd에 바코드를 입력하거나 xvkbd에 Enter 키를 사용하지 않으시겠습니까?

printf "$(python read_one.py)" | xvkbd -file - 

답변

1

이보십시오. 당신은 (당신이 인수의 문자열이 전달 괜찮다면 및 파일에 대한 필요) 프로그램에서 XVKBD에 직접 보낼 수 있습니다 :

import subprocess # at appropriate place 
subprocess.call(['xvkbd', '-text', symbol.data.strip()]) 

이 또한 실행하는 다른 쉘 스크립트를 방지 할 수 있습니다.

+0

완벽한, 감사합니다. – Natim

1

가 입력 제거하려면 :

print symbol.data.strip() 

을하지만을하는 pipeable 프로그램은 종류의 불쾌한

관련 문제