美好的一天,
我想打开目录中具有特定名称的pdf文件。这些文件名由csv文件输入提供,它们位于第二列。
我尝试了以下代码,但收到了错误消息:
TypeError:类型' WindowsPath'的参数是不可迭代的
如何解决此问题以及要打开的pdf文件 根据输入文件?
另一个问题:如果能解决这个问题怎么办? 输入名称与pdf标题不完全匹配,但我仍然想要 打开包含输入名称的文件?
import csv
import os
from pathlib import *
dir_path = Path('D:\\path\\pdf files')
pdf_files = dir_path.glob('*.pdf')
file1=open('INPUT.csv','r')
reader=csv.reader(file1,delimiter=';')
for pdf_file in pdf_files:
for item in reader:
file_name=item[1]
print(file_name)#just to see the file name that I want to open
if file_name in pdf_file:
os.startfile("%s"%(pdf_file))
file1.close()
提前谢谢!
答案 0 :(得分:0)
行if file_name in pdf_file
中的问题:pdf_file
不是字符串,而是pathlib.Path
的实例,使用name将文件名称作为字符串:
if file_name == pdf_file.name
如果您想检查file_name
名称中是否包含pdf_file
不包含:
file_name.split('.')[-2] in f.name # ('example' in 'some_example.pdf') == True