0

我附上了一张图片来帮助展示我所做的事情。我正在尝试编写一个程序,该程序将为目录中具有奇数页数的所有 PDF 添加一个空白页。但是我似乎无法阅读目录中的所有 PDF。

我的脚本适用于单个 PDF,但我有 1000 个这样的工作要做。为什么我无法阅读 user_input 目录中的所有 PDF?

代码和错误的屏幕截图在这里

代码在这里

from PyPDF2 import PdfFileReader, PdfFileWriter, PdfFileMerger
import os


user_input = input("Enter the path of your file: ")
files = os.listdir(user_input)

for file in files:
    print(file)
    pdfReader = PdfFileReader(open(files, 'rb'))
4

3 回答 3

3

使用以下代码。此代码将提供目录中的所有 pdf 文件列表

import glob, os

def readfiles():
   os.chdir(path)
   pdfs = []
   for file in glob.glob("*.pdf"):
       print(file)
       pdfs.append(file)
于 2019-02-27T11:26:56.363 回答
1

为了处理文件夹中的每个 PDF 文件,您需要做一些事情。

  1. 进入正确的目录
  2. 获取所有文件
  3. 仅获取 PDF 文件

操作系统非常适合这一点。它可以获取所有文件,然后让您确定如何处理它们。我遇到的一个问题(可能也是你的问题)是我的路径中有空格,而 os.chdir() 正在查看路径(“something\ long\ with\ spaces/abcd/pdf\ folder”)并且是用“\”替换所有空格,这意味着我的最终路径是“something\ long\ with\ spaces/abcd/pdf\ folder”,这不是有效路径。从原始用户输入中删除“\”效果很好。如果您需要任何进一步的帮助,请告诉我。

import os
os.chdir(raw_input("enter the path: ").replace("\\", ""))
print os.listdir(".")
for file in os.listdir("."):
    if file.endswith(".pdf"):
        print file
        process(file) # do whatever it is you need to here
于 2017-02-06T14:29:27.490 回答
0

.py 文件是否与 pdf 位于同一目录中?如果没有,您将需要完整路径来读取文件,而不仅仅是 os.listdir 返回的文件名

于 2017-02-06T14:20:40.410 回答