Python 一次在多个文件/整个目录上运行ipynb脚本?

Python 一次在多个文件/整个目录上运行ipynb脚本?,python,pdf,subprocess,Python,Pdf,Subprocess,我将第一个告诉你,我的Python技能充其量只是初学者,所以请原谅我在这里的无知 作为背景,我在Anaconda Jupyter笔记本中创建了一个Python脚本,它从文件夹C:\Users\…\PDFs中读取单个PDF,提取所述PDF的文本,然后通过一些拼接将感兴趣的文本放入它创建的CSV文件中 问题是我想在数百个PDF上执行此脚本(在单个PDF上执行ipynb脚本时,它本身工作正常,我只是不想在Notebook/Python脚本中手动更改文件名)。使用pdfreader,我的脚本从以下内容开

我将第一个告诉你,我的Python技能充其量只是初学者,所以请原谅我在这里的无知

作为背景,我在Anaconda Jupyter笔记本中创建了一个Python脚本,它从文件夹
C:\Users\…\PDFs
中读取单个PDF,提取所述PDF的文本,然后通过一些拼接将感兴趣的文本放入它创建的CSV文件中

问题是我想在数百个PDF上执行此脚本(在单个PDF上执行ipynb脚本时,它本身工作正常,我只是不想在Notebook/Python脚本中手动更改文件名)。使用pdfreader,我的脚本从以下内容开始:

import pdfreader
from pdfreader import PDFDocument, SimplePDFViewer
fd = open(r'C:Users\...\PDFs\[pdf name].pdf', 'rb')
viewer = SimplePDFViewer(fd) 
doc = PDFDocument(fd)
这就是我被卡住的地方-我不知道如何在/导入文件夹中的所有PDF上运行此操作。我见过一些人使用带星号的可变文件名,例如
C:\Users\…\PDFs\*.pdf
,但我无法做到这一点。似乎可以将我的ipynb保存为py文件,然后以某种方式在Anaconda提示符下运行它,但是我一直在努力使这个方法也能工作。我不熟悉bat文件,但这些文件似乎也有潜力


有人知道一种方法可以同时在一个目录中的多个PDF上运行此脚本吗?我已经搜了很多东西,但我一辈子都找不到这个。任何帮助都将不胜感激!:)

您可以使用
glob
模块收集所有文件名,然后循环浏览它们

import pdfreader
from pdfreader import PDFDocument, SimplePDFViewer
from glob import glob

pdf_files = glob(r'C:Users\...\PDFs\*.pdf')

for path in pdf_files:
    fd = open(path, 'rb')
    viewer = SimplePDFViewer(fd) 
    doc = PDFDocument(fd)

    ...
    fd.close()

明亮的非常感谢你,詹姆斯-你的解决方案效果很好。干杯