我附上了一张图片,以帮助展示我所做的一切。我正在尝试编写一个程序,该程序将向目录中具有奇数页数的所有PDF添加空白页。但是,我似乎无法读取目录中的所有PDF。
我在一个PDF上运行的脚本,但我有1000个这样做。为什么我不能读取user_input目录中的所有PDF?
Screenshot of code and error here
代码在这里
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'))
答案 0 :(得分:0)
.py文件与pdfs位于同一目录中吗?如果没有,您将需要完整的路径来读取文件而不仅仅是文件名,这是由os.listdir返回的
答案 1 :(得分:0)
为了处理文件夹中的每个PDF文件,您需要做一些事情。
操作系统非常适合这种情况。它可以获取所有文件,然后让您确定如何处理它们。我遇到的一个问题(也可能是你的)是我的路径中有空格,os.chdir()正在查看路径(“something \ long \ with \ spaces / abcd / pdf \ folder”)并且用“\”替换所有空格意味着我的最终路径是“some \ 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
答案 2 :(得分:0)
使用以下代码。此代码将提供目录中所有pdf文件的列表
import glob, os
def readfiles():
os.chdir(path)
pdfs = []
for file in glob.glob("*.pdf"):
print(file)
pdfs.append(file)