<p>您必须将<code>pages</code>附加到主列表中。将<code>for</code>循环更改为以下内容,它应该可以工作。你知道吗</p>
<pre><code>master_lst = list()
for p in range(pdfReader.numPages):
pageObj = pdfReader.getPage(p)
pages = list()
for x in pageObj.extractText().split('\n'):
pages.append(x)
master_lst.append(pages)
</code></pre>
<p>但是,这个代码不是Pythonic。内部(嵌套的)<code>for</code>循环是多余的,因为<code>pageObj.extractText().split('\n')</code>返回一个字符串列表,所以不需要遍历它。你知道吗</p>
<pre><code>master_lst = list()
for p in range(pdfReader.numPages):
pages = pdfReader.getPage(p).extractText().split('\n')
master_lst.append(pages)
</code></pre>
<p>实际上,这个块可以用一行代码来代替。使用列表理解。你知道吗</p>
<pre><code>master_lst = [pdfReader.getPage(p).extractText().split('\n')
for p in range(pdfReader.numPages)]
</code></pre>
<p>完整的代码如下。你知道吗</p>
<pre><code>import PyPDF2
pdfFileObj = open(origFileName, 'rb')
pdfReader = PyPDF2.PdfFileReader(pdfFileObj)
numPages = pdfReader.numPages
master_lst = [pdfReader.getPage(p).extractText().split('\n')
for p in range(pdfReader.numPages)]
</code></pre>
<p>如果您不熟悉列表理解,我建议您在StackOverflow上阅读。你知道吗</p>