我正在使用zbarcam从我的webapps中的网络摄像头读取条形码。 但是,由于zbarcam最后会显示\ n,我的表单会提交。
以下是我使用的内容:
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
python read_one.py | xvkbd -file -
如何在将条形码发送到xvkbd之前删除'\ n'或在xvkbd中禁用回车键?
答案 0 :(得分:1)
试试这个:
printf "$(python read_one.py)" | xvkbd -file -
答案 1 :(得分:1)
剥离输入:
print symbol.data.strip()
但是这样做的可管理程序有点令人讨厌。您可以直接从您的程序发送到xvkbd(如果您不介意在args中传递字符串,则无需文件):
import subprocess # at appropriate place
subprocess.call(['xvkbd', '-text', symbol.data.strip()])
这也避免了另一个shell和脚本的运行。