2016-03-24 223 views
1

好日子PDF文件,類型錯誤:類型WindowsPath「的說法是不是可迭代 - 開放與Python

我想打開具有從目錄中的特定名稱的PDF文件。這些文件名是從csv文件輸入提供的,位於第二列。

我試過follwing代碼,但我收到一條錯誤消息:根據輸入文件

TypeError: argument of type 'WindowsPath' is not iterable

我怎麼能解決這個問題,和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

問題符合if file_name in pdf_filepdf_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 
相關問題