所以,我的电脑上有“price.pdf”。准确地说,该目录是“D:\python\price.pdf”。 这是代码:
import glob
pdf_files = glob.glob("*pdf")
print(pdf_files)
你可以看到我没有路径,只有文件格式。这是因为 .py 文件和所需的 .pdf 位于同一目录中。我认为我不需要填写路径,因为两个文件放在一起。
我得到的输出当然是[]。
棘手的部分是代码在调试模式下工作正常并返回所需的
['price.pdf']
我尝试填写这样的路径
pdf_files = glob.glob("D:\\python\*pdf")
但它返回这个
['D:\\python\\price.pdf']
我想这个 glob 模块和其他一些库之间可能存在冲突,但我不确定。欢迎任何帮助。谢谢
您可以使用pathlib删除父目录部分。 这个小脚本可让您定义一个搜索目录,查找其中的所有 pdf,然后仅打印文件名。
from pathlib import Path
# set search directory to any path you like
search_dir = Path("D:\\python")
# find all pdfs in search dir (does not search nested folders, use rglob if desired)
files = search_dir.glob("*.pdf")
#files = search_dir.rglob("*.pdf")
# remove parent from paths
files = [p.name for p in files]
print(files)