我正在編寫代碼來打開PDF文件,選擇要裁剪的頁數,然後創建一個新的裁剪文件。Python:EasyGui凍結與fileopenbox()
下面是代碼:
from easygui import *
from pyPdf import PdfFileReader, PdfFileWriter
# 1 select a inputfile
inputFileName = fileopenbox('Please choose a PDF file','', '*.pdf')
#2 total pages
inputFile = PdfFileReader(file(inputFileName, 'rb'))
totalPages = inputFile.getNumPages()
#3 Enter beginning Page
begPage = enterbox('Please choose the Beginning Page','it must a number')
while not begPage.isdigit() or begPage ==0 or int(begPage) > totalPages:
msgbox('Please enter a valid digit', '', 'ok')
begPage = enterbox('Please choose the Beginning Page','it must a number')
的事情是在測試這些第一步。當我選擇文件並單擊確定時,fileopenbox
凍結,我不能進入下一步。
如果我隔離第一步或第一步和第二步,它工作得很好,但我無法讓它與腳本的其餘部分一起工作(第3步)。
我使用Python的2.7.10我的MacBook Pro的OSX 10.9.2 和easygui 0.97
你的代碼對我來說工作得很好。也許你的pdf格式不正確 - 你試過多個文件嗎?附: 'begPage == 0'應該是'int(begPage)== 0' Python 2.7.10,easygui 0.97,Win7 – SiHa
可能是路徑問題 - inputFileName是否返回文檔的完整路徑?它在我的系統上運行,但OSX可能會有所不同。 – SiHa
我試過用不同的文件,但它仍然凍結。 'InputFileName'返回完整路徑。我在試圖解決問題的不同事情上「點了點頭」,並且我發現如果我點擊儀表板中的python圖標,腳本解凍並進入下一步(2和3)....但這隻會發生在'fileopenbox'上,其餘的框會自動提示出來...... PS感謝「begPage == 0」修復。 – Ruseiro