باستخدام XVKBD لقراءة الباركود. كيفية تعطيل مفتاح الدخول؟
-
12-09-2019 - |
سؤال
أنا أستخدم 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
لوحة المفاتيح
python read_one.py | xvkbd -file -
كيف يمكنني إما إزالة " n" قبل إرسال الباركود إلى XVKBD أو قم بتعطيل مفتاح ENTER في XVKBD؟
المحلول
جرب هذا:
printf "$(python read_one.py)" | xvkbd -file -
نصائح أخرى
لتجريد الدخول:
print symbol.data.strip()
لكن برنامج قابلية للأنيب يفعل ذلك هو نوع من سيئة. يمكنك فقط إرسالها مباشرة إلى XVKBD من برنامجك (وليس هناك حاجة لملف إذا كنت لا تمانع في اجتياز السلسلة في Args):
import subprocess # at appropriate place
subprocess.call(['xvkbd', '-text', symbol.data.strip()])
هذا يتجنب أيضا شل وبرنامج نصي آخر لتشغيله.
لا تنتمي إلى StackOverflow