2016-01-22 65 views
0

我開發了一個軟件,使用twain modulepython。該軟件基於PyQt4。我已經連接到掃描儀和掃描大量文件的這些代碼:Twain模塊引發異常:twain.excTWCC_SEQERROR

import twain 

sm = twain.SourceManager(0) 
ss = sm.OpenSource() 
ss.RequestAcquire(0,0) 

while True: 
    rv = ss.XferImageNatively() 
    if rv is None: 
     break 
    else: 
     (handle, count) = rv 
     twain.DIBToBMFile(handle, '{}.bmp'.format(uuid.uuid4())) 

當掃描操作完成後,將圖像保存像.bmp文件。 Everthing是可以的,但會引發異常,程序不能執行其他代碼行。異常消息是:

C:\Python34\python.exe C:/Users/PB/PycharmProjects/34Deneme/dene.py 
Traceback (most recent call last): 
    File "C:/Users/PB/PycharmProjects/34Deneme/dene.py", line 13, in <module> 
    rv = ss.XferImageNatively() 
    File "C:\Python34\lib\site-packages\twain.py", line 1841, in XferImageNatively 
    rv, handle = self._get_native_image() 
    File "C:\Python34\lib\site-packages\twain.py", line 1787, in _get_native_image 
    (TWRC_XFERDONE, TWRC_CANCEL)) 
    File "C:\Python34\lib\site-packages\twain.py", line 1453, in _call 
    return self._sm._call(self._id, dg, dat, msg, buf, expected_returns) 
    File "C:\Python34\lib\site-packages\twain.py", line 2094, in _call 
    raise exc 
twain.excTWCC_SEQERROR 
Exception ignored in: <bound method SourceManager.__del__ of <twain.SourceManager object at 0x004EEA10>> 
Traceback (most recent call last): 
    File "C:\Python34\lib\site-packages\twain.py", line 2059, in __del__ 
    File "C:\Python34\lib\site-packages\twain.py", line 2066, in close 
    File "C:\Python34\lib\_weakrefset.py", line 101, in pop 
KeyError: 'pop from empty WeakSet' 

Process finished with exit code 1 

那麼是什麼問題?我該如何解決這個問題?

回答

0
import twain 

sm = twain.SourceManager(0) 
ss = sm.OpenSource() 
ss.RequestAcquire(0,0) 
try: 
    while True: 
    rv = ss.XferImageNatively() 
    if rv is None: 
     break 
    else: 
     (handle, count) = rv 
     twain.DIBToBMFile(handle, '{}.bmp'.format(uuid.uuid4())) 
except: 
    print "Error!" 
+0

我建議你解釋一下你在做什麼。這將有助於爲每個人創建可搜索的內容。 –