2013-10-19 43 views
1

我正在寫一個程序,在後臺運行並檢查文件夾中的文件更改,如果有任何新的映像文件到達該文件夾,它將通過tesseract OCR引擎從該映像讀取文本.Images包含Employees.python程序的Adresses將Adress分成單獨的列表。在Python中發送字符串隊列到剪貼板

我想把每個地址部分放到剪貼板中一個接一個。所以如果我按Ctrl + V第一部分將粘貼。下一次如果我按下Ctrl + v下一部分將粘貼爲明智。

這是代碼。

#!/usr/bin/python 
import commands,os 
global vdir,outfile 
global prev 
vdir="Vilvin" 
out="Output" 
a=os.listdir(vdir) 
prev=len(a) 
whcount=0 
stat_dict={'NEW HRMPSHIRE': 'NEW HAMPSHIRE', 'VERMONT': 'VERMONT', 'LOUISIRNR': 'LOUISIANA', 'CRLIFORNIR': 'CALIFORNIA', 'MISSISSIPPI': 'MISSISSIPPI', 'PENNSYLVRNIR': 'PENNSYLVANIA', 'MONTRNR': 'MONTANA', 'GEORGIR': 'GEORGIA', 'WRSHINGTON': 'WASHINGTON', 'NEW YORK': 'NEW YORK', 'MRRYLRND': 'MARYLAND', 'IOWR': 'IOWA', 'SOUTH DRKOTR': 'SOUTH DAKOTA', 'VIRGINIR': 'VIRGINIA', 'FLORIDR': 'FLORIDA', 'MRINE': 'MAINE', 'NEBRRSKR': 'NEBRASKA', 'RLRSKR': 'ALASKA', 'ILLINOIS': 'ILLINOIS', 'CONNECTICUT': 'CONNECTICUT', 'TENNESSEE': 'TENNESSEE', 'NEW MEXICO': 'NEW MEXICO', 'COLORRDO': 'COLORADO', 'DELRWRRE': 'DELAWARE', 'HRWRII': 'HAWAII', 'NORTH CRROLINR': 'NORTH CAROLINA', 'UTRH': 'UTAH', 'RLRBRMR': 'ALABAMA', 'MICHIGRN': 'MICHIGAN', 'RRKRNSRS': 'ARKANSAS', 'NEW JERSEY': 'NEW JERSEY', 'MISSOURI': 'MISSOURI', 'OREGON': 'OREGON', 'WYOMING': 'WYOMING', 'OHIO': 'OHIO', 'WISCONSIN': 'WISCONSIN', 'MINNESOTR': 'MINNESOTA', 'KRNSRS': 'KANSAS', 'RHODE ISLRND': 'RHODE ISLAND', 'WEST VIRGINIR': 'WEST VIRGINIA', 'IDRHO': 'IDAHO', 'OKLRHOMR': 'OKLAHOMA', 'KENTUCKY': 'KENTUCKY', 'RRIZONR': 'ARIZONA', 'NEVRDR': 'NEVADA', 'INDIRNR': 'INDIANA', 'MRSSRCHUSETTS': 'MASSACHUSETTS', 'SOUTH CRROLINR': 'SOUTH CAROLINA', 'NORTH DRKOTR': 'NORTH DAKOTA', 'TEXRS': 'TEXAS'} 
while True: 
    instant=os.listdir(vdir) 
    if(len(instant)>prev): 
     print "File Change Detected...." 
     r=commands.getoutput('ls -ct1 '+vdir+' | head -1') 
     print "Most recent file = %s " %(r) 
     r=r.replace("(","\(") 
     r=r.replace(")","\)") 
     r=r.replace(" ","\ ") 
     os.system("tesseract "+vdir+"/"+r+" "+out+"/"+"Output") 
     result=commands.getoutput("awk -F: '{ print $2 $3 }' "+out+"/"+"Output.txt") 
     res=result.split("\n") 
     state=res[0].split("State") 
     profile=res[1].split("Pro?ile") 
     applicant=state[0].strip().replace("R","A") 
     state=state[1].strip() 
     state=stat_dict[state] 
     sid=profile[0].strip() 
     profile=profile[1].strip().replace("R","A") 
     sec=res[3].strip().replace("R","A") 
     a=commands.getoutput("echo \""+applicant+"\" | xclip -verbose -selection clipboard") 
     b=commands.getoutput("echo \""+state+"\" | xclip -verbose -selection clipboard") 
     c=commands.getoutput("echo \""+sid+"\" | xclip -verbose -selection clipboard") 
     d=commands.getoutput("echo \""+profile+"\" | xclip -verbose -selection clipboard") 
     e=commands.getoutput("echo \""+sec+"\" | xclip -verbose -selection clipboard") 
     print "Applicant : "+applicant+"\nState : "+state+"\nStaff ID : "+sid+"\nProfile : "+profile+"\nSEC : "+sec+"\n" 
     prev=len(instant) 
    else: 
     whcount=whcount+1 
     print "While Loop Count : "+str(whcount)+"\n" 
     os.system("sleep 2") 

有一件事我忘了是這樣的程序總是在後臺運行&終端窗口最小化,所以我們必須讓對全的Xsession & GUI Apps..whenever按Ctrl + V鍵按下觸發了我們應該檢測任何應用程序是...在此先感謝

+0

它是否定時,或者當按下「Ctrl + V」時是否要觸發下一個選擇? –

+0

是的,我想觸發下一個選擇當Ctrl + v按下... – user159561

+0

檢查我的答案:P –

回答

0

好了,所以,在這裏是如何去:

import time,os,win32api 
from msvcrt import getch 

def addToClipBoard(text): 
    command = 'echo ' + text.strip() + '| clip' 
    os.system(command) 


def testpress(key): 
    return (win32api.GetKeyState(key) & (1 << 7)) != 0 

key = 17 #ctrl key 
key2= ord('V') 
copy=1 

while True: 
    keydown = testpress(key) 
    key2down = testpress(key2) 
    if keydown and key2down: 
     print 'CtrlV pressed!' 
     if copy==1: 
      addToClipBoard('Foo') 
     elif copy==2: 
      addToClipBoard('Shoo') 
     elif copy==3: 
      addToClipBoard('THA END') 
     if copy>3: 
      exit(1) 
     copy+=1 
    time.sleep(0.10) 

我的代碼測試使用WIN32API從另一個答案的按鍵,然後把它放在一起做什麼你啊注意到:)

+0

我希望它的Linux .... – user159561

+0

Daw,來吧!我對此非常努力。大聲笑。你可以upvote我的答案;) –

相關問題