Script grabs some image data and runs imagemagick on it to extract some chinese. Then tesseract OCR to get the actual unicode.
I then need to get it translated which also works and then display in XTerm using cat. I could cat << named_pipe but I was wondering if this was the only way? Could I juggle fd's instead? #!/usr/bin/python # -*- coding: utf-8 -*- import sys, time import shlex import codecs, subprocess import goslate from textblob.blob import TextBlob def cmd_exec(cmd, wait=True, shell=True): print cmd cmd_line = shlex.split(cmd) retobj = subprocess.Popen(cmd_line, shell, cwd='/tmp', stdin=subprocess.PIPE) if wait: retobj.wait() return retobj def get_text_and_process(skip=False): if skip: return cmd_exec('import /tmp/x.png') cmd_exec('convert /tmp/x.png -resize 200% /tmp/x.resize.png') cmd_exec('tesseract /tmp/x.resize.png /tmp/tao -l chi_sim') get_text_and_process(skip=True) fh = codecs.open('/tmp/tao.txt', encoding='utf-8') fd = cmd_exec('xterm -en utf-8 -geometry 50x20+0+0 -e /bin/bash -c "cat -"', shell=False, wait=False) fd.communicate('test\n') #how do i communicate with cat and not xterm sys.exit() #I EXIT HERE #This stuff doesn't run (but works) - sys.exit above for line in fh.readlines(): try: print >>fd.stdout, line.encode('utf-8') blob = TextBlob(line) print >>fd.stdout, blob.detect_language() print >>fd.stdin, blob.translate(to='en') except UnicodeDecodeError, TranslatorError: pass fh.close() -- https://mail.python.org/mailman/listinfo/python-list