可以在shell中逐行运行脚本,但完整脚本不返回任何内容

时间:2015-10-01 15:34:35

标签: python shell

我使用的脚本从PDF文件中提取文本。如果我在shell中一次运行我的脚本一行,它工作正常(即在shell窗口中返回提取的文本),但如果我尝试执行整个脚本,则不会返回任何内容。脚本如下:

import PyPDF2

pdfFileObj = open('c:\Python27\meetingminutes.pdf', 'rb')    
pdfReader = PyPDF2.PdfFileReader(pdfFileObj)    
pdfReader.numPages    
pageObj = pdfReader.getPage(0)    
pageObj.extractText()

我是Python的新手,所以非常感谢所有的帮助!

1 个答案:

答案 0 :(得分:5)

Python shell 回应表达式的结果。在脚本中,您需要明确打印结果:

print pageObj.extractText()

如果Python的行为方式不同,那么你永远不可能编写一个保持沉默的脚本。

从技术上讲,Python交互式shell所做的是使用repr() function,因此每个表达式(除非它产生None)都是使用print repr(<expression outcome>)编写的。没有print的{​​{1}}会使用str() function代替。