我正在尝试计算drectory中各种PDF文件的页数,但我遇到了错误
TypeError:'str'对象不可调用
import re
import os
rxcountpages = re.compile(r"$\s*/Type\s*/Page[/\s]", re.MULTILINE|re.DOTALL)
def countPages(filename):
data = file(filename,"rb").read()
return len(rxcountpages.findall(data))
if __name__=="__main__":
parent = "/Users/ss/Desktop/shared/pdf"
for f in os.listdir(parent):
if f.endswith('.pdf'):
print f
print "Number of pages in PDF File:", countPages(f)
不确定如何摆脱错误。我尝试引用其他一些stackoverflow QA页面,但无法使其正常工作。
完整追溯:
runfile('/ Users / ss / untitled0.py',wdir ='/ Users / ss')页数 在PDF文件中:Traceback(最近一次调用最后一次):
文件“”,第1行,in runfile('/ Users / ss / untitled0.py',wdir ='/ Users / ss')
文件 “/Users/ss/anaconda/lib/python2.7/site-packages/spyder/utils/site/sitecustomize.py” 第866行,在runfile中 execfile(filename,namespace)
文件 “/Users/ss/anaconda/lib/python2.7/site-packages/spyder/utils/site/sitecustomize.py” 第94行,在execfile中 builtins.execfile(filename,* where)
文件“/Users/ss/untitled0.py”,第22行,in print“PDF文件中的页数:”,countPages(f)
文件“/Users/ss/untitled0.py”,第15行,在countPages中 data = file(filename,“rb”)。read()
TypeError:'str'对象不可调用