TypeError:类型' WindowsPath'的参数是不可迭代的 - 用python打开pdf文件

时间:2016-03-24 14:11:57

标签: python pdf

美好的一天,

我想打开目录中具有特定名称的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()

提前谢谢!

1 个答案:

答案 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