我正在编写代码来打开PDF文件,选择要裁剪的页数,然后创建一个新的裁剪文件。
以下是代码:
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
冻结,我无法进入下一步。
如果我将第一步或第1步和第2步隔离开来,它可以正常工作,但我无法使用其余的脚本(步骤3)。
我在macbookPro OSX 10.9.2上使用 Python 2.7.10 和 easygui 0.97
答案 0 :(得分:1)
Easygui使用tkinter作为其gui位。
This page说(强调我的):
如果您使用的是python.org 64位/ 32位Python中的Python 对于Mac OS X 10.6及更高版本的安装程序,您应该只使用IDLE或 tkinter与更新的第三方Tcl / Tk 8.5,如ActiveTcl 8.5 安装。
如果您使用的是OS X 10.9或更高版本以及python.org中的Python 64位/ 32位安装程序,应用程序窗口可能无法正确更新 由于Tk问题。 安装最新的ActiveTcl 8.5.18.0 if 可能。(另外,一个可能导致Python的关键OS X 10.9问题 交互使用时崩溃已在3.4.0中修复, 3.3.3和2.7.6安装程序。)
如果您使用的是Mac OS X 10.6,请不要使用IDLE或Tkinter Apple在Mac OS X 10.6中提供的Python 2.6.1。如果可能,安装和 使用较新版本的Python和Tcl / Tk。
这听起来像是您的问题,因此看起来ActiveTcl是解决tk
问题所需的问题。